一、maven pom.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.</modelVersion>
  5.  
  6. <groupId>com.ltchu</groupId>
  7. <artifactId>design</artifactId>
  8. <version>0.0.-SNAPSHOT</version>
  9. <packaging>jar</packaging>
  10.  
  11. <name>design</name>
  12. <description>ltchu's graduation design</description>
  13.  
  14. <properties>
  15. <project.build.sourceEncoding>UTF-</project.build.sourceEncoding>
  16. <project.reporting.outputEncoding>UTF-</project.reporting.outputEncoding>
  17. <java.version>1.8</java.version>
  18. </properties>
  19.  
  20. <parent>
  21. <groupId>org.springframework.boot</groupId>
  22. <artifactId>spring-boot-starter-parent</artifactId>
  23. <version>1.5..RELEASE</version>
  24. </parent>
  25.  
  26. <dependencies>
  27. <dependency>
  28. <groupId>org.springframework.boot</groupId>
  29. <artifactId>spring-boot-starter-web</artifactId>
  30. </dependency>
  31.  
  32. <dependency>
  33. <groupId>org.springframework.boot</groupId>
  34. <artifactId>spring-boot-starter-data-jpa</artifactId>
  35. </dependency>

      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
      </dependency>

  1. <dependency>
  2. <groupId>mysql</groupId>
  3. <artifactId>mysql-connector-java</artifactId>
  4. </dependency>
  5.  
  6. </dependencies>
  7.  
  8. <build>
  9. <plugins>
  10. <plugin>
  11. <groupId>org.springframework.boot</groupId>
  12. <artifactId>spring-boot-maven-plugin</artifactId>
  13. </plugin>
  14. </plugins>
  15. </build>
  16.  
  17. </project>

二、properties配置文件

  1. spring.datasource.url = jdbc:mysql://127.0.0.1:3306/design?characterEncoding=UTF-8&useSSL=false
  2. spring.datasource.username = root
  3. spring.datasource.password = root
  4. spring.datasource.driver-class-name = com.mysql.jdbc.Driver
  5.  
  6. #建表策略,这里用update,即根据实体更新表结构
  7. spring.jpa.hibernate.ddl-auto = update

#thymeleaf模板
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.cache=false

三、实体类

  1. package com.ltchu.design.model;
  2. import javax.persistence.Entity;
  3. import javax.persistence.GeneratedValue;
  4. import javax.persistence.Id;
  5. import javax.persistence.Table;
  6. import org.hibernate.annotations.GenericGenerator;
  7.  
  8. @Entity
  9. @Table(name="person")
  10. public class Person {
  11.  
  12. @Id
  13. //本来jpa是不支持uuid的,但借用hibernate的方法可以实现。
  14. @GeneratedValue(generator = "uuid")
  15. @GenericGenerator(name = "uuid", strategy = "org.hibernate.id.UUIDHexGenerator")
  16. private String id;
  17.  
  18. private String name;
      
       public Person(String id, String name) {
  19. super();
  20. this.id = id;
  21. this.name = name;
  22. }

  23.   ...  setter / getter方法
  24. }

四、Repository

  1. package com.ltchu.design.repository;
  2. import org.springframework.data.repository.CrudRepository;
  3. import com.ltchu.design.model.Person;
  4.  
  5. public interface PersonRepository extends CrudRepository<Person, String> {
  6.  
  7. }

五、TestController

  1. package com.ltchu.design.controller;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import com.ltchu.design.model.Person;
  6. import com.ltchu.design.repository.PersonRepository;
  7.  
  8. @Controller
  9. public class TestController {
  10.  
  11. @Autowired
  12. private PersonRepository personRepository;
  13.  
  14. @RequestMapping(value = {"/", "/home"})
       @ResponseBody
  15. public String home() {
  16. personRepository.save(new Person("zhangsan"));
  17. return "home";
  18. }
  19.  
  20. }

六、DesignApplication

  1. package com.ltchu.design;
  2. import java.util.TimeZone;
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5.  
  6. @SpringBootApplication
  7. public class DesignApplication {
  8.  
  9. public static void main(String[] args) {
  10. TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
  11. SpringApplication.run(DesignApplication.class, args);
  12. }
  13. }

七、html文件

  1.  

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8"/>
    <title>home title</title>
  </head>
  <body>
    啊啦啦啦
  </body>
</html>

  1.  

Spring boot data jpa 示例的更多相关文章

  1. Spring boot data JPA数据库映射关系 : @OneToOne,@OneToMany,@ManyToMany

    问题描述 在利用Spring boot data JPA进行表设计的时候,表对象之间经常存在各种映射关系,如何正确将理解的映射关系转化为代码中的映射关系是关键之处. 解决办法 概念理解 举例:在公司的 ...

  2. Spring------Spring boot data jpa的使用方法

    1.DoMain.java import org.springframework.boot.SpringApplication; import org.springframework.boot.aut ...

  3. 玩转spring boot——结合JPA入门

    参考官方例子:https://spring.io/guides/gs/accessing-data-jpa/ 接着上篇内容 一.小试牛刀 创建maven项目后,修改pom.xml文件 <proj ...

  4. 玩转spring boot——结合JPA事务

    接着上篇 一.准备工作 修改pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&q ...

  5. spring boot 系列之四:spring boot 整合JPA

    上一篇我们讲了spring boot 整合JdbcTemplate来进行数据的持久化, 这篇我们来说下怎么通过spring boot 整合JPA来实现数据的持久化. 一.代码实现 修改pom,引入依赖 ...

  6. Spring Boot集成JPA的Column注解命名字段无效的问题

    偶然发现,Spring Boot集成jpa编写实体类的时候,默认使用的命名策略是下划线分隔的字段命名. Spring Boot版本:1.5.4.release 数据表: id int, userNam ...

  7. Spring Boot整合JPA、Redis和Swagger2

    好久没有总结了,最近也一直在学习.今天就把spring boot与其它技术的整合做个小总结,主要是jpa.redis和swagger2.公司里有用到这些,整合起来也很简单. 首先,新建一个Spring ...

  8. Spring Boot 整合 JPA 使用多个数据源

    介绍 JPA(Java Persistence API)Java 持久化 API,是 Java 持久化的标准规范,Hibernate 是持久化规范的技术实现,而 Spring Data JPA 是在 ...

  9. Spring Boot2 系列教程(二十四)Spring Boot 整合 Jpa

    Spring Boot 中的数据持久化方案前面给大伙介绍了两种了,一个是 JdbcTemplate,还有一个 MyBatis,JdbcTemplate 配置简单,使用也简单,但是功能也非常有限,MyB ...

随机推荐

  1. 预处理、const、static与sizeof-使用const与#define的特点及区别

    1:#define只是用来做文本替换的.例如: #define PI 3.1415926 float angle; angle=*PI/; 那么,程序进行编译的时候,编译器会首先将“#define P ...

  2. ARP 之 发送请求arp_solicit

    概述 arp_solicit用来发送ARP请求,首先会根据ARP_ANNOUNCE参数来选取源地址,然后判断是否达到内核发送次数上限,未达到则调用内核arp_send_dst函数发送,如果达到上限,则 ...

  3. 九十七:CMS系统之模板抽离和个人信息页面

    模板抽取,将公共的页面抽出来作为模板 {% from 'common/_macros.html' import static %}<!DOCTYPE html><html lang= ...

  4. 指定JSON.toJSONString中实体类属性的输出顺序

    最近在使用JSON.toJSONString过程中出现实体类的属性与转换之前的顺序不一致 public static void main(String[] args) { Person person ...

  5. IDEA 底部工具栏没有 Version Control 解决办法

    百度了半天 都说VCS配置不对 但是默认IDEA是配置好的 根本不需要修改 忽然看到 工具栏的快捷键 于是 Alt + 9 就出现了 完美

  6. The working copy is locked due to a previous error.

    SVN报错: The working copy is locked due to a previous error. 不能更新项目代码... 解决方式: 解决:右键你的左侧管理目录中的相关目录,然后点 ...

  7. js 笔记整理

    Js中for.for-in.forEach以及for-of的用法及特性对比 for-in for...in以任意顺序遍历一个对象的可枚举属性.所以for-in不适合用来迭代一个Array.同时,for ...

  8. CentOS Config FTP Server with SSL support

  9. epoll 数据库安装以及相关概念

    epoll select 只能同时处理1024个客户端, 多线程会遇到资源瓶颈,什么才是解决高并发最有效的方式呢 linux中提供了epoll 这种多路复用的IO模型,注意其他平台没有相应的实现 所以 ...

  10. 【并行计算-CUDA开发】__syncthreads的理解

    __syncthreads()是cuda的内建函数,用于块内线程通信. __syncthreads() is you garden variety thread barrier. Any thread ...