Spring?Data?JPA實現(xiàn)持久化存儲數(shù)據(jù)到數(shù)據(jù)庫的示例代碼
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文件如下
# 應(yīng)用名稱
spring:
application:
name: springboot-jpa01
# jpa參數(shù)配置
jpa:
database: MySQL
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
show-sql: true
hibernate:
ddl-auto: update
# 運行環(huán)境設(shè)置
profiles:
active: dev
# 應(yīng)用服務(wù) WEB 訪問端口
server:
port: 8080
application-dev.yml文件如下
# 應(yīng)用名稱
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.創(chuàng)建實體類
創(chuàng)建與數(shù)據(jù)庫表映射的實體類,綁定字段之間的對應(yīng)關(guān)系,如下
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.啟動項目,測試驗證
啟動項目成功之后,會自動在數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫表,如果創(chuàng)建數(shù)據(jù)庫表成功,說明JPA框架繼承和配置都是OK的。


以上就是Spring Data JPA實現(xiàn)持久化存儲數(shù)據(jù)到數(shù)據(jù)庫的示例代碼的詳細內(nèi)容,更多關(guān)于Spring Data JPA數(shù)據(jù)存儲的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Springboot整個Quartz實現(xiàn)動態(tài)定時任務(wù)的示例代碼
這篇文章主要介紹了Springboot整個Quartz實現(xiàn)動態(tài)定時任務(wù)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09
SpringBoot redis分布式緩存實現(xiàn)過程解析
這篇文章主要介紹了SpringBoot redis分布式緩存實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10
mybatis-plus 關(guān)于savebatch,saveorupdatebatch遇到的坑及解決辦法
本文主要介紹了mybatis-plus 關(guān)于savebatch,saveorupdatebatch遇到的坑及解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
使用Java實現(xiàn)類似Comet風(fēng)格的web app
這篇文章主要介紹了使用Java實現(xiàn)類似Comet風(fēng)格的web app的方法,包括客戶端的響應(yīng)和XML解析等功能,需要的朋友可以參考下2015-11-11

