Spring Data JPA实现持久化存储数据到数据库的示例代码
作者:嫣夜来
Spring Data JPA是Spring基于JPA规范的基础上封装的⼀套 JPA 应⽤框架,可使开发者⽤极简的代码即可实现对数据库的访问和操作。本文我们来了解如何用Spring Data JPA框架实现数据持久化存储到数据库,感兴趣的可以了解一下
1.SpringBoot项目整合JPA
1.1 pom.xml依赖
<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文件如下
# 应用名称 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文件如下
# 应用名称 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.创建实体类
创建与数据库表映射的实体类,绑定字段之间的对应关系,如下
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数据存储的资料请关注脚本之家其它相关文章!