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
查看更多关于Spring Data JPA实现持久化存储数据到数据库的示例代码的详细内容...