1.SpringBoot项目整合JPA
1.1 pom.xml依赖
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
< properties > < java.version >1.8</ java.version > < project.build.sourceEncoding >UTF-8</ project.build.sourceEncoding > < project.reporting.outputEncoding >UTF-8</ project.reporting.outputEncoding > < spring-boot.version >2.3.7.RELEASE</ spring-boot.version > </ properties > < dependencies > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-data-jpa</ artifactId > </ dependency > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-web</ artifactId > </ dependency > < dependency > < groupId >mysql</ groupId > < artifactId >mysql-connector-java</ artifactId > < scope >runtime</ scope > </ dependency > < dependency > < groupId >org.projectlombok</ groupId > < artifactId >lombok</ artifactId > </ dependency > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-test</ artifactId > < scope >test</ scope > < exclusions > < exclusion > < groupId >org.junit.vintage</ groupId > < artifactId >junit-vintage-engine</ artifactId > </ exclusion > </ exclusions > </ dependency > </ dependencies > < dependencyManagement > < dependencies > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-dependencies</ artifactId > < version >${spring-boot.version}</ version > < type >pom</ type > < scope >import</ scope > </ dependency > </ dependencies > </ dependencyManagement > |
1.2 application配置文件
application.yml文件如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# 应用名称 spring: application: name: springboot-jpa01 # jpa参数配置 jpa: database: MySQL database-platform: org.hibernate.dialect.MySQL5InnoDBDialect show-sql: true hibernate: ddl-auto: update # 运行环境设置 profiles: active: dev # 应用服务 WEB 访问端口 server: port: 8080 |
application-dev.yml文件如下
1
2
3
4
5
6
7
|
# 应用名称 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/yg-jpa?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2B8 username: root password: root |
2.创建实体类
创建与数据库表映射的实体类,绑定字段之间的对应关系,如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
package com.kkarma.web.entity; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import org.hibernate.annotations.GenericGenerator; import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedBy; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.*; import java.time.LocalDateTime; /** * @Author: karma * @Date: 2022/3/31 0031 - 03 - 31 - 15:13 * @Description: com.kkarma.web.entity * @version: 1.0 */ @Entity @Table (name = "sys_member" ) @Data public class Member { @Id () @GeneratedValue (strategy = GenerationType.IDENTITY) @Column (name = "member_id" ) private Long memberId; @Column (name = "member_name" , unique = true , nullable = false , length = 64 ) private String memberName; @Column (name = "password" , length = 256 ) @JsonIgnore private String password; @Column (name = "dept_id" ) private Integer deptId; @Column (name = "realname" , length = 64 ) private String realName; @Column (name = "avatar" , length = 500 ) private String avatar; @Column (name = "phone" , length = 11 ) private String phone; @Column (name = "email" , length = 64 ) private String email; @Column (name = "gender" , length = 1 ) private Integer gender; @CreatedDate @Column (name = "gmt_create" , updatable = false ) @DateTimeFormat (pattern = "yyyy-MM-dd HH:mm:ss" ) @JsonFormat (shape=JsonFormat.Shape.STRING, pattern= "yyyy-MM-dd HH:mm:ss" ) private LocalDateTime gmtCreate; @CreatedBy @Column (name = "created_by" , updatable = false , length = 64 ) private String createdBy; @LastModifiedDate @Column (name = "gmt_modified" ) @DateTimeFormat (pattern = "yyyy-MM-dd HH:mm:ss" ) @JsonFormat (shape=JsonFormat.Shape.STRING, pattern= "yyyy-MM-dd HH:mm:ss" ) private LocalDateTime gmtModified; @LastModifiedBy @Column (name = "updated_by" , length = 64 ) private String updatedBy; @Column (name = "remark" , length = 64 ) private String remark; } |
3.启动项目,测试验证
启动项目成功之后,会自动在数据库中创建数据库表,如果创建数据库表成功,说明JPA框架继承和配置都是OK的。
以上就是Spring Data JPA实现持久化存储数据到数据库的示例代码的详细内容,更多关于Spring Data JPA数据存储的资料请关注服务器之家其它相关文章!
原文链接:https://blog.csdn.net/qq_41865652/article/details/123877753