SpringBoot整合SpringDataJPA实现数据库的访问(一)

一、SpringDataJPA和Hibernate

在这里插入图片描述
Spring Data JPA等于在ORM之上又进行了一次封装,但具体的对数据库的访问依然要依赖于底层的ORM框架,Spring Data JPA默认是通过Hibernate实现的

二、SpringDataJPA体系

在这里插入图片描述

三、解析与理解

最高层的Repository<T,ID>是一个空接口,我们定义的数据访问类只要实现或者继承这个接口,这个数据访问类就可以被spring data所管理,就此可以使用spring为我们提供操作方法(在原来的spring data中我们需要配置很多和Spring Data Repository相关的设置,但是现在有了spring boot,全部都已经自动配置好了)。

这个接口要实现有两个泛型参数:

  • 第一个T表示实体(entry)类
  • 第二个表示主键的类型

四、简单实现:那么我们开始写一个数据库访问接口

1、拷贝依赖
在这里插入图片描述
2、建表,我这里建一张student表,这个略

3、建立实体类,student类,这个略。如果这两步都要图文教学建议不学。

4、首先回忆一下,我们用mybatis的时候是怎么样的?是不是要建立对应的student的xml文件,,xml文件里面写对应的sql语句,然后写对应的mapper接口,然后service调用对应mapper接口的方法?(hibernate我就不说了,我早就忘了怎么用了)

5、回忆完毕,到了SpringDataJPA这里,我们只需要创建studentRepo类继承JpaRepository<T,ID>或他下面的接口即可!如下:
在这里插入图片描述
6、里面不需要再写什么方法或者sql语句了,Repository接口已经封装好最基本的crud和分页查询等常规操作!

7、那么我们来看下我们的测试类如下,直接调用,基本的增删改查都有了。当然按照实际做法应该是要写个service层,然后再调用service层方法,我这里就简化了直接调用repo类。
在这里插入图片描述
8、可能细心的同学发现了,添加和修改都是save方法,没错,jpa会根据是否有id来进行新增或者修改操作。那么究竟有哪些可以直接用的方法呢?看下面即可。

五、JPA常用方法一览表

将不建议使用的方法置灰,此类方法多为CrudRepository接口、PagingAndSortingRepository接口中定义,后来JpaRepository接口中又定义了替代方法,更方便使用。如查询全部findall
在这里插入图片描述
在这里插入图片描述
当然实际开发中肯定不止是crud这么点东西,敬请期待下篇。

本文转载自;https://mp.weixin.qq.com/s?__biz=MzAxMjEwMzQ5MA==&mid=2448885629&idx=1&sn=51353ff01eb98764bd97dda8015245e7&chksm=8fb55d50b8c2d446b847678d2e4a1b8de5087384e3e8ff05205c3d475624da5eaa86d3ab0928&scene=21#wechat_redirect

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值