我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Spring Data JPA数据持久化存储到数据库的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Spring Data JPA数据持久化存储到数据库的方法

今天小编给大家分享一下Spring Data JPA数据持久化存储到数据库的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    1 核心概念

    Spring Data存储库抽象的中心接口是Repository。它把要管理的实体类以及实体类的ID类型作为类型参数。这个接口主要是作为一个标记接口,用来捕捉工作中的类型,并帮助你发现扩展这个接口的接口。CrudRepository接口为被管理的实体类提供复杂的CRUD功能。

    自己可以看看Repository的扩展接口以及实现类 IDEA中将光标定位在Repository.java文件中, ctrl+h快捷键就可以看。

    Spring Data JPA数据持久化存储到数据库的方法

    类图继承关系如下:

    Spring Data JPA数据持久化存储到数据库的方法

    CrudRepository接口

    这个接口定义了一套CRUD基本操作的方法,使用起来很方便

    Spring Data JPA数据持久化存储到数据库的方法

    CrudRepository接口比较强大的地方在于可以派生方法,什么意思, 举个例子

    you一张用户表,如果你想按照某个字段统计一下数量, 这个实现的确非常强大。

    public interface MemberMapper extends CustomRepository<Member, Long> {        Long countByMemberName(String username);        Long countByDeptId(Integer deptId);}

    PagingAndSortingRepository接口

    在CrudRepository之上,有一个PagingAndSortingRepository的抽象,它增加了额外的方法以方便对实体类的分页查询访问

    Spring Data JPA数据持久化存储到数据库的方法

    2 查询方法

    标准的CRUD功能库通常有对底层数据存储的查询。使用Spring Data,声明这些查询需要4个步骤:

    1】声明一个扩展Repository或其子接口之一的接口,并指定它应该处理的实体类和ID类型

    interface MemberRepository extends Repository<Member, Long> { … }

    2】在接口中声明查询方法

    interface MemberRepository extends Repository<Member, Long> {  List<Member> findByMembername(String username);}

    3】设置Spring为这些接口创建代理实例, 可以使用配置类或xml配置文件的方式来实现

    通过 配置类的方式,示例如下:

    import org.springframework.data.jpa.repository.config.EnableJpaRepositories;@EnableJpaRepositoriespublic class MyConfig { }

    通过 xml配置文件的方式,示例如下:

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns:jpa="http://www.springframework.org/schema/data/jpa"   xsi:schemaLocation="http://www.springframework.org/schema/beans     https://www.springframework.org/schema/beans/spring-beans.xsd     http://www.springframework.org/schema/data/jpa     https://www.springframework.org/schema/data/jpa/spring-jpa.xsd">   <jpa:repositories base-package="com.kkarma.repository"/></beans>

    本示例中使用的是JPA命名空间。如果你对任何其他存储使用存储库抽象,你需要将其修改成你的存储模块的对应命名空间声明。换句话说,你应该把jpa换成其他的存储类型,例如mongodb

    另外,请注意,JavaConfig配置类并不明确地配置扫描的基础包,因为默认情况下会使用注释类的包。要自定义要扫描的包,请使用数据存储特定库的 @Enable${store}Repositories-annotation 的 basePackage&hellip; 属性之一。什么意思呢,举例:

    如果你的store类型是 mongodb, 就使用@EnableMongoRepositories

    @Configuration@EnableMongoRepositories(*arrayOf("com.kkarma.repository", "com.???.???"))class PersistenceConfig : AbstractMongoConfiguration() {}

    如果你的store类型是 redis, 就使用@EnableRedisRepositories

    如果你的store类型是 jpa, 就使用@EnableJpaRepositories

    简单配置单个package,格式如下:

    @EnableJpaRepositories("com.spr.repository")

    简单配置支持多个package,格式如下:

    @EnableJpaRepositories({"com.cshtong.sample.repository", "com.cshtong.tower.repository"})

    4】注入Repository实例并使用它

    @Servicepublic class MemberServiceImpl implements MemberService {    private final MemberMapper memberMapper;    public MemberServiceImpl(MemberMapper memberMapper) {        this.memberMapper = memberMapper;    }    @Override    public ApiResponse insertMember(Member member) {        Member user = memberMapper.save(member);        return ApiResponse.success("新增成功", user);    }}

    以上就是“Spring Data JPA数据持久化存储到数据库的方法”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    Spring Data JPA数据持久化存储到数据库的方法

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    Spring Data JPA数据持久化存储到数据库的方法

    今天小编给大家分享一下Spring Data JPA数据持久化存储到数据库的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧
    2023-06-30

    Spring Data JPA怎么实现持久化存储数据到数据库

    这篇“Spring Data JPA怎么实现持久化存储数据到数据库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring
    2023-06-30

    Spring Data JPA实现数据持久化过程详解

    Spring Data JPA是一个流行的Java持久化框架,它在Java应用程序中提供了一种简单、一致和易于使用的方式来访问各种数据库。本文将介绍Spring Data JPA的基本概念和用法并提供一个完整的实例,帮助您更好地理解它的使用方法和优势
    2023-05-19

    docker持久化存储数据的方法是什么

    Docker提供了多种方法来实现持久化存储数据:1. 数据卷(Volumes):数据卷是一个特殊的目录,可以绕过容器文件系统来直接访问宿主机的文件系统。使用数据卷可以将容器内的数据持久化保存在宿主机上,并且可以在多个容器之间共享数据卷。可以
    2023-10-27

    利用Spring Data MongoDB持久化文档数据的方法教程

    前言本文主要给大家介绍了关于利用Spring Data MongoDB持久化文档数据的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。介绍 NoSQL:not only SQL,非关系型数据 MongoDB是文
    2023-05-31

    Android持久化存储(3)SQLite数据库的使用

    1.什么是SQlite SQLite是由C语言编写的一款轻型数据库,因占用资源小,处理速度快,功能齐全,特别适用于移动设备,最重要的是开源,任何人都可以使用它,许多开源项目(PHP,Python)和当今两大手机操作系统Android和iOS
    2022-06-06

    K8s中MySQL 数据持久化存储的实现

    目录一、步骤二、实践2.1 创建 PV 和 PVC2.2 部署 mysql 服务2.3 创建测试数据2.4 模拟节点宕机2.5 数据一致性验证FAQ一、步骤(1)创建 PV 和 PVC。(2)部署 MySQL 服务。(3)向 MySQ
    2023-01-09

    K8s中MySQL 数据持久化存储的实现

    本文主要介绍了K8s中MySQL 数据持久化存储的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-08

    Netdata的监控数据是否支持持久化存储

    是的,Netdata的监控数据支持持久化存储。 Netdata可以配置为将监控数据存储在本地磁盘上,以便稍后进行分析和检查。此外,Netdata还支持将监控数据发送到远程数据库,如InfluxDB或Graphite,以便进行更长期的存储和分
    Netdata的监控数据是否支持持久化存储
    2024-04-24

    Kubernetes存储系统数据持久化管理方法是什么

    本篇内容主要讲解“Kubernetes存储系统数据持久化管理方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Kubernetes存储系统数据持久化管理方法是什么”吧!引言Kubernet
    2023-07-04

    在Unity中如何实现数据的持久化存储

    在Unity中实现数据的持久化存储可以通过以下几种方式:PlayerPrefs:Unity自带的一种简单的持久化存储方案,可以存储简单的键值对数据,比如玩家的分数、解锁的关卡等。使用PlayerPrefs存储数据时,数据会被保存在本地的注册
    在Unity中如何实现数据的持久化存储
    2024-05-09

    如何在Storm中实现数据的持久化存储

    在Storm中实现数据的持久化存储通常可以通过以下几种方法:使用数据库:可以将Storm处理的数据存储到关系型数据库(如MySQL、PostgreSQL等)或者NoSQL数据库(如MongoDB、Cassandra等)中。可以在Storm的
    如何在Storm中实现数据的持久化存储
    2024-04-09

    PHP中数据库实现连接持久化的方法

    这篇文章将为大家详细讲解有关PHP中数据库实现连接持久化的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开源的PHP应用
    2023-06-15

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录