5、SpringBoot项整合JPA

参考:https://mp.weixin.qq.com/s/7jBT-vS7yD4daCzGWFX1OQ?
参考:https://mp.weixin.qq.com/s/fAcOvQutfWosyh10wAjmSA?
参考:https://www.cnblogs.com/hdwang/p/7843405.html
接上一章:https://blog.csdn.net/romulusla01/article/details/93596723
一、JPA
1、application.properties文件中添加log配置
logging.path会自动生成在项目所在盘符的根目录,比如(E:\user\local\logs)
在这里插入图片描述
2、数据库配置
jpa是利用Hibernate生成各种自动化的sql,如果只是简单的增删改查,基本上不用手写了,spring内部已经帮大家封装实现了
添加maven依赖
在这里插入图片描述
3、添加下面这个依赖,可以在实体类中增加注解@Data,那就不用写get和set方法了
在这里插入图片描述
wait,还要装个插件
下载地址:https://projectlombok.org/download.html
在这里插入图片描述
下载得到
在这里插入图片描述
使用cmd命令java -jar 你的lombok jar路径,然后会弹出一个框 这里会自动搜索你的eclipse安装路径(如果搜索不到,自行选择),如下图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后弹出下面的框
在这里插入图片描述选择eclipse路径
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

检查eclipse安装路径,多了lombok.jar
在这里插入图片描述
同时,.ini文件下也增加了一行,最后,重启eclipse
在这里插入图片描述
测试一下,成功了
在这里插入图片描述
4、application.properties文件中
在这里插入图片描述
5、MySql数据库中,我执行drop table t_user;删除掉了之前建的表
6、修改之前写实体类User
在这里插入图片描述
7、增加UserRepository,这就是dao层,不用谢任何方法就能支持基础的增删改查
在这里插入图片描述
8、不要忘记在启动类中扫包,否则spring是无法对刚刚的实体类和Jpa进行依赖注入的(笔者在这里卡了1个小时,才想到这里)
在这里插入图片描述
9、编写单元测试类
在这里插入图片描述
10、右键run as Junit,执行成功,不但新建了表,还插入了2行数据
在这里插入图片描述
11、测试Jpa默认查询方法,将上一个测试忽略掉,添加下一个
在这里插入图片描述
findAll()会查出所有T_User表中的数据,我们比对下是不是2行,测试成功
在这里插入图片描述
12、测试自定义简单查询
不用谢任何实现方法,通过实体类的字段,还有And、Or等sql中的语法就能实现简单查询
在这里插入图片描述
测试,这里注意assertSame是判断a==b ,assertEquals是判断a.equals(b),这里比较2个对象,应该改用assertEquals
在这里插入图片描述
在这里插入图片描述
修改、删除、统计也是类似语法。
Long deleteById(Long id);
Long countByUserName(String userName)
13、复杂查询
首先我们多准备一些数据
在这里插入图片描述
a、分页
分页查询在实际使用中非常普遍了,spring data jpa已经帮我们实现了分页的功能,在查询的方法中,需要传入参数Pageable ,当查询中有多个参数的时候Pageable建议做为最后一个参数传入。
修改UserRepository
在这里插入图片描述
测试
在这里插入图片描述
在这里插入图片描述
b、限制查询
在这里插入图片描述
c、自定义SQL
删除
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
更新
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查询
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
14、多对多关联
新建类Role和roleRepository
在这里插入图片描述
在这里插入图片描述
添加数据
在这里插入图片描述
在这里插入图片描述
新建UserAndRole中间表类
在这里插入图片描述
新建关联主键类
在这里插入图片描述
新建UserAndRole仓库类
在这里插入图片描述
测试,把user和role进行关联
在这里插入图片描述在这里插入图片描述

15、多表联查
新建结果集类UserInfo
在这里插入图片描述
增加查询方法
在这里插入图片描述
测试
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值