返回顶部
首页 > 资讯 > 精选 >SpringBoot中怎么使用JPA作为数据持久化框架
  • 293
分享到

SpringBoot中怎么使用JPA作为数据持久化框架

2023-07-05 13:07:48 293人浏览 泡泡鱼
摘要

今天小编给大家分享一下SpringBoot中怎么使用JPA作为数据持久化框架的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。J

今天小编给大家分享一下SpringBoot中怎么使用JPA作为数据持久化框架的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

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

1、引入依赖

<!-- spring mvc --><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-WEB</artifactId></dependency><!-- mysql 驱动 --><dependency>    <groupId>Mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <scope>runtime</scope></dependency><!-- lombok --><dependency>    <groupId>org.projectlombok</groupId>    <artifactId>lombok</artifactId></dependency><!-- jpa持久层 --><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-data-jpa</artifactId></dependency>

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-8    driver-class-name: com.mysql.cj.jdbc.Driver    username: root    passWord: 123456  jpa:    hibernate:      # 自动创建表      ddl-auto: update

ddl-auto 一共有五个可选值

  • none: 什么也不做

  • create:每次加载 hibernate 时都会删除上一次的生成的表,然后根据你的 model 类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。

  • create-drop:每次加载 hibernate 时根据 model 类生成表,但是 sessionFactory 一关闭,表就自动删除。

  • update:最常用的属性,第一次加载 hibernate 时根据 model 类会自动建立起表的结构(前提是先建立好数据库),以后加载 hibernate 时根据 model 类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等应用第一次运行起来后才会。

  • validate:每次加载 hibernate 时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。

3、数据对象(DO)

import lombok.Data;import javax.persistence.*;@Table(name = "sys_user")@Entity@Datapublic class SysUserDO {        @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.SysUserDO;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.stereotype.Repository;@Repositorypublic interface SysUserRepository extends JpaRepository<SysUserDO, Long> {}

@Repository,表示这是数据访问层

5、业务层

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

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

6、测试

import com.biz.jpa.entity.SysUserDO;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;@RestControllerpublic class SysUserController {    @Autowired    private SysUserService sysUserService;    @GetMapping("save")    public SysUserDO save() {        return sysUserService.saveUser();    }}

访问:

Http://localhost:8080/save

返回:

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

插入成功,并返回了自增的主键,Jpa 的集成到这里就完成了,更多 Jpa 的用法需要在实际的项目开发中去探索。

以上就是“SpringBoot中怎么使用JPA作为数据持久化框架”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: SpringBoot中怎么使用JPA作为数据持久化框架

本文链接: https://lsjlt.com/news/351987.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SpringBoot中怎么使用JPA作为数据持久化框架
    今天小编给大家分享一下SpringBoot中怎么使用JPA作为数据持久化框架的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。J...
    99+
    2023-07-05
  • 详解SpringBoot中使用JPA作为数据持久化框架
    目录1、引入依赖2、数据库连接配置3、数据对象(DO)4、持久化对象5、业务层6、测试JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5...
    99+
    2023-03-19
    SpringBoot JPA数据持久化框架 SpringBoot JPA数据持久化
  • SpringBoot集成JPA持久层框架,简化数据库操作
    目录与SpringBoot2.0整合 1、核心依赖2、配置文件3、实体类对象4、JPA框架的用法5、封装一个服务层逻辑测试代码块 源代码地址 与Spri...
    99+
    2024-04-02
  • SpringBoot2如何实现集成JPA持久层框架、简化数据库操作
    这篇文章主要为大家展示了“SpringBoot2如何实现集成JPA持久层框架、简化数据库操作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SpringBoot2如何实现集成JPA持久层框架、简化...
    99+
    2023-06-02
  • Spring Data JPA怎么实现持久化存储数据到数据库
    这篇“Spring Data JPA怎么实现持久化存储数据到数据库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看...
    99+
    2023-06-30
  • 怎么将redis中数据持久化
    Redis支持多种数据持久化方式,可以将数据持久化到磁盘以确保数据的安全性。以下是两种常用的持久化方式:1. RDB持久化(Redi...
    99+
    2023-08-30
    redis
  • PHP 框架中数据建模和持久化的最佳实践
    在 php 框架中,数据建模的最佳实践包括使用适当的数据类型、应用约束、考虑索引和使用 er 图。持久化的最佳实践包括使用 orm 工具、dao、处理事务和强制数据验证。遵循这些实践可确...
    99+
    2024-05-23
    php 持久化 可视化数据 数据访问
  • P6spy中如何使用sqlprofiler持久化动态监测框架
    本篇文章为大家展示了P6spy中如何使用sqlprofiler持久化动态监测框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。基本使用方法:1、主页下载p6spy-...
    99+
    2024-04-02
  • Couchbase中怎么实现数据持久化
    在Couchbase中,数据持久化可以通过以下几种方式实现: 使用持久化存储引擎:Couchbase支持使用不同的持久化存储引擎...
    99+
    2024-03-08
    Couchbase
  • Couchbase中怎么配置数据持久化
    在Couchbase中,可以通过配置持久化设置来保证数据在节点重启时不丢失。以下是在Couchbase中配置数据持久化的步骤: ...
    99+
    2024-04-09
    Couchbase
  • vuex中数据持久化插件vuex-persistedstate怎么用
    小编给大家分享一下vuex中数据持久化插件vuex-persistedstate怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据持久化vuex-persi...
    99+
    2023-06-29
  • 使用PHP怎么实现数据库连接持久化
    本篇文章给大家分享的是有关使用PHP怎么实现数据库连接持久化,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。PHP中的数据库连接持久化数据库的优化是我们做web开发的重中之重,甚...
    99+
    2023-06-15
  • Pinia简单使用及数据持久化怎么实现
    这篇文章主要讲解了“Pinia简单使用及数据持久化怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Pinia简单使用及数据持久化怎么实现”吧!基本介绍Pinia 是 Vue.js 的轻...
    99+
    2023-06-30
  • JPA 在微服务架构中的应用:实现数据持久化的分布式解决方案
    ...
    99+
    2024-04-02
  • C#怎么使用Thrift作为RPC框架
    这篇文章主要讲解了“C#怎么使用Thrift作为RPC框架”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#怎么使用Thrift作为RPC框架”吧!完善开发工具通过nuget在vs2019中...
    99+
    2023-06-21
  • 怎么使用快照和AOF将Redis数据持久化到硬盘中
    这篇文章主要介绍“怎么使用快照和AOF将Redis数据持久化到硬盘中”,在日常操作中,相信很多人在怎么使用快照和AOF将Redis数据持久化到硬盘中问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2024-04-02
  • vuex中数据持久化插件vuex-persistedstate使用详解
    目录数据持久化vuex-persistedstate使用安装起步配置使用自定义存储方式想使用cookie同理使用vuex-persistedstate插件遇到的问题数据持久化vuex...
    99+
    2024-04-02
  • Spark中怎么实现数据缓存和持久化
    在Spark中,可以通过使用RDD的persist()方法来实现数据缓存。persist()方法有多种级别,包括MEMORY_ONL...
    99+
    2024-03-14
    Spark
  • 怎么在Android中对SQLite数据库进行数据持久化
    怎么在Android中对SQLite数据库进行数据持久化?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SQLiteOpenHelper:创建数据库和数据库版本管理的辅助类,...
    99+
    2023-05-31
    android 数据持久化 sqlite数据库
  • SpringBoot参数校验Validator框架怎么使用
    这篇“SpringBoot参数校验Validator框架怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringB...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作