使用Gradle构建SpringBoot工程系列:第八篇:使用spring-data-jpa 实现数据持久化

本文介绍了如何使用Spring Data JPA简化基于JPA的数据持久化操作,探讨了Repository和DAO的区别,并展示了如何利用CrudRepository实现基本的CRUD操作。通过配置Spring Boot的data-jpa依赖,创建实体类、接口实现类和服务层,实现了用户信息的增删查改。还提及了JpaRepository的额外功能,如查询列表、批量删除等。
摘要由CSDN通过智能技术生成

本篇文章是SpringBoot 系列文章的第八篇文章,由于本人工作原因,中断了一段时间,接下来的一段时间里,将陆续更新本系列的其他文章,回归Spring Boot技术体系,记录本人学习和使用Gradle构建spring Boot工程的过程、技术要点以及在过程中遇到的各种问题,欢迎广大程序猿共同关注学习,也欢迎大家提出自己的宝贵意见,知识在交流中碰撞,技术在交流中提升!

 Spring Data JPA

是Spring Data系列的一部分,可以轻松实现基于JPA的数据持久化操作,旨在通过提供通用接口减少持久层的编码量,提高代码质量,降低代码和SQL的维护成本,避免SQL注入等安全风险。作为开发人员只需编写Repostitory接口,Spring将自动提供实现数据库读写

Repository的概念

在Spring中有Repository的概念,repository原意指的是仓库,即数据仓库的意思。Repository居于业务层和数据层之间,将两者隔离开来,在它的内部封装了数据查询和存储的逻辑。这样设计的好处有两个:

  1. 降低层级之间的耦合:更换、升级ORM引擎(Hibernate)并不会影响业务逻辑
  2. 提高测试效率:如果在测试时能用Mock数据对象代替实际的数据库操作,运行速度会快很多

Repository和DAO的区别

DAO是传统MVC中Model的关键角色,全称是Data Access Object。DAO直接负责数据库的存取工作,乍一看两者非常类似,但从架构设计上讲两者有着本质的区别:

Repository蕴含着真正的OO概念,即一个数据仓库角色,负责所有对象的持久化管理。DAO则没有摆脱数据的影子,仍然停留在数据操作的层面上。Repository是相对对象而言,DAO则是相对数据库而言,虽然可能是同一个东西 ,但侧重点完全不同。

接下来本篇文章将针对使用CrudRepository实现Repository数据库读写:

在Gradle 的build.gradle配置文件中追加一下jpa依赖:'org.springframework.boot:spring-boot-starter-data-jpa' 

dependencies {
    compile(
            'org.springframework.boot:spring-boot-starter-actuator',
            'org.springframework.boot:spring-boot-starter-web',
            'org.springframework.boot:spring-boot-starter-data-jpa',
            'org.springframework.boot:spring-boot-devtools',
            'mysql:mysql-connector-java'
    )
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

对于使用maven的朋友可以使用一下配置:

<!-- spring boot 父节点依赖,
       引入这个之后相关的引入就不需要添
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值