SpringBoot 集成Jpa

1、pom文件

 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.0</modelVersion>
 5 
 6     <groupId>com.example</groupId>
 7     <artifactId>demo</artifactId>
 8     <version>0.0.1-SNAPSHOT</version>
 9     <packaging>jar</packaging>
10 
11     <name>demo</name>
12     <description>Demo project for Spring Boot</description>
13 
14     <parent>
15         <groupId>org.springframework.boot</groupId>
16         <artifactId>spring-boot-starter-parent</artifactId>
17         <version>2.1.0.RELEASE</version>
18         <relativePath/> <!-- lookup parent from repository -->
19     </parent>
20 
21     <properties>
22         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
23         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
24         <druid.version>1.1.10</druid.version>
25         <mysql-connector.version>5.1.39</mysql-connector.version>
26         <java.version>1.8</java.version>
27     </properties>
28 
29     <dependencies>
30         <dependency>
31             <groupId>org.springframework.boot</groupId>
32             <artifactId>spring-boot-starter-data-jpa</artifactId>
33         </dependency>
34         <dependency>
35             <groupId>org.springframework.boot</groupId>
36             <artifactId>spring-boot-starter-web</artifactId>
37         </dependency>
38         <dependency>
39             <groupId>org.mybatis.spring.boot</groupId>
40             <artifactId>mybatis-spring-boot-starter</artifactId>
41             <version>1.3.2</version>
42         </dependency>
43         <!-- MySQL 连接驱动依赖 -->
44         <dependency>
45             <groupId>mysql</groupId>
46             <artifactId>mysql-connector-java</artifactId>
47             <version>${mysql-connector.version}</version>
48         </dependency>
49         <dependency>
50             <groupId>com.alibaba</groupId>
51             <artifactId>druid</artifactId>
52             <version>${druid.version}</version>
53         </dependency>
54         <dependency>
55             <groupId>com.alibaba</groupId>
56             <artifactId>druid-spring-boot-starter</artifactId>
57             <version>${druid.version}</version>
58         </dependency>
59         <dependency>
60             <groupId>javax.servlet</groupId>
61             <artifactId>javax.servlet-api</artifactId>
62         </dependency>
63 
64         <dependency>
65             <groupId>org.springframework.boot</groupId>
66             <artifactId>spring-boot-starter-test</artifactId>
67             <scope>test</scope>
68         </dependency>
69         <!-- MySql 5.5 Connector -->
70         <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
71         <dependency>
72             <groupId>mysql</groupId>
73             <artifactId>mysql-connector-java</artifactId>
74             <version>5.1.47</version>
75         </dependency>
76     </dependencies>
77     <build>
78         <plugins>
79             <plugin>
80                 <groupId>org.springframework.boot</groupId>
81                 <artifactId>spring-boot-maven-plugin</artifactId>
82             </plugin>
83         </plugins>
84     </build>
85 </project>
pom文件内容

2、yml文件

 1 spring:
 2   datasource:
 3     druid:
 4       mysql:
 5         name: mysql
 6         type: com.alibaba.druid.pool.DruidDataSource
 7         driver-class-name: com.mysql.jdbc.Driver
 8         url: jdbc:mysql://localhost:3306/smbms?useUnicode=true&characterEncoding=utf8&useSSL=false
 9         username: root
10         password: 123456
yml文件

3、编写entity

 1 @Entity
 2 @Table(name = "smbms_user")
 3 public class User {
 4     @javax.persistence.Id
 5     @GeneratedValue(strategy = GenerationType.AUTO)
 6     private Integer id;
 7     //用户编码
 8     private String userCode;
 9 
10     @Column(name = "user_Name")
11     private String userName;
12 
13     @Column(name = "user_Password")
14     private String userPassword;
15 
16     //用户性别
17     @Column(name = "gender")
18     private int gender;
19 
20     @Column(name = "birthday")
21     private Date birthday;
22     @Column(name = "phone")
23     private String phone;
24     @Column(name = "address")
25     private String address;
26 
27     @Column(name = "create_By")
28     private Integer createBy;
29 
30     @Column(name = "creation_Date")
31     private Date creationDate;
32 
33     @Column(name = "modify_By")
34     private Integer modifyBy;
35 
36     //更新时间
37     @Column(name = "modify_Date")
38     private Date modifyDate;
entity

4、编写dao

 1 /**
 2  * @RepositoryDefinition(domainClass = UserDao.class, idClass = Integer.class)
 3  * public interface UserDao{}等价于以下方式
 4  */
 5 @Repository
 6 public interface UserDao extends JpaRepository<User, Integer> {
 7     @Query("select userName,userCode from User where id=?1")
 8     public List<User> getUserListByUserId(int id);
 9 
10     public List<User> findById(int id);
11 
12     @Modifying
13     @Transactional
14     @Query(value = "update  User set userName =?1 where id=?2 ")
15     void updateName(String userName,int id);
16 }
dao

5、配置datasource

 1 @Configuration
 2 public class GlobalDataSourceConfiguration {
 3 
 4   private static Logger LOG = LoggerFactory.getLogger(GlobalDataSourceConfiguration.class);
 5 
 6   @Bean
 7   @ConfigurationProperties(prefix = "spring.datasource.druid.mysql")
 8   public DataSource primaryDataSource() {
 9     LOG.info("-------------------- primaryDataSource init ---------------------");
10     return DruidDataSourceBuilder.create().build();
11   }
12 }
datasource

6、备注

猜你喜欢

转载自www.cnblogs.com/zxh-xy/p/10585419.html