【SpringBoot】76、SpringBoot中使用JPA作为数据持久化框架
创始人
2025-05-29 07:50:16

JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

平常项目开发中用的较多的是 MyBatis 和 MyBatis-Plus,Jpa 使用较少,本篇就对在 SpringBoot 中使用 JPA 作为数据持久化框架做如下说明:

1、引入依赖


org.springframework.bootspring-boot-starter-web

mysqlmysql-connector-javaruntime

org.projectlomboklombok

org.springframework.bootspring-boot-starter-data-jpa

2、数据库连接配置

server:port: 8080spring:datasource:url: jdbc:mysql://127.0.0.1:3306/jpa-demo?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useSSL=true&characterEncoding=UTF-8driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 123456jpa:hibernate:# 自动创建表ddl-auto: update

ddl-auto 开启后,每次启动会对数据表结构进行检查,只会新增表格,新增字段,并不会改变原有的字段

3、数据对象

import lombok.Data;import javax.persistence.*;@Table(name = "sys_user")
@Entity
@Data
public class SysUser {/*** 主键-自增*/@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Column(columnDefinition = "varchar(12) comment '用户名称'")private String name;@Column(columnDefinition = "varchar(50) comment '邮箱'")private String email;
}
  • @Id,表示该属性为主键字段
  • @GeneratedValue(strategy = GenerationType.IDENTITY),使用主键自增的方式
  • @Column,指定数据库字段的属性,可以设置数据类型,长度、注释等信息,也可以只写一个注解,jpa会自动识别

4、持久化对象

import com.biz.jpa.entity.SysUser;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;@Repository
public interface SysUserRepository extends JpaRepository {
}
  • @Repository,表示这是数据访问层

4、业务层

import com.biz.jpa.dao.SysUserRepository;
import com.biz.jpa.entity.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class SysUserService {@Autowiredprivate SysUserRepository sysUserRepository;public SysUser saveUser() {SysUser sysUser = new SysUser();sysUser.setName("Asurplus");sysUser.setEmail("123456@qq.com");sysUserRepository.save(sysUser);return sysUser;}
}

我们向 sys_user 表中插入一条数据,由于主键自增,我们无需设置主键,插入成功后,主键会会写到对象中

5、测试

import com.biz.jpa.entity.SysUser;
import com.biz.jpa.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class SysUserController {@Autowiredprivate SysUserService sysUserService;@GetMapping("save")public SysUser save() {return sysUserService.saveUser();}
}

访问:

http://localhost:8080/save

返回:

{"id":1,"name":"Asurplus","email":"123456@qq.com"}

插入成功,并返回了自增的主键

Jpa 的集成到这里就完成了,更多 Jpa 的用法需要在实际的项目开发中去探索

如您在阅读中发现不足,欢迎留言!!!

相关内容

热门资讯

湖北高考作文【通用3篇】 湖北高考作文 篇一:挑战中成长高考是每个湖北考生都无法绕过的一座大山,它既是对我们学习成果的检验,也...
高中生文学常识(优质3篇) 高中生文学常识 篇一文学是一门精深的学科,它涵盖了各种文学体裁和文学作品,对于高中生来说,了解一些文...
2022年湖南卷高考作文(通... 2022年湖南卷高考作文 篇一:科技与人类的未来科技的快速发展已经深刻地改变了我们的生活方式和社会结...
拒绝平庸850字作文【推荐3... 拒绝平庸850字作文 篇一拒绝平庸时光荏苒,岁月如梭。在这个飞速发展的时代,人们追求着更好的生活,追...
四川卷高考作文解析及(优质3... 四川卷高考作文解析及 篇一四川卷高考作文解析及应对策略四川卷高考作文一直以其独特的题材和考查角度而备...