1.Respository是一个空接口,即是一个标记接口,也可@RespositoryDefinition注解替代

在Respository子接口中声明方法
1.需要符合一定的规范
2.查询方法以find,read,get开头
3.涉及条件查询时,条件的属性用条件关键字连接
4.要注意的是:条件属性以首字母大写
5.支持属性的级联查询,若当前类有符合条件的属性,则优选使用,而不使用级联属性
若需要使用级联属性,则属性之间使用_进行连接(定义的方法名 如 Address_Id)

一.使用@Query注解:

1.复杂查询

springdata jpa使用 spring data jpa基本语法_springdata jpa使用


2.为query注解传递参数的方式

1: 使用占位符

springdata jpa使用 spring data jpa基本语法_级联_02


2: 使用命名参数的方式

springdata jpa使用 spring data jpa基本语法_springdata jpa使用_03


3.使用like允许在占位符上添加%%

springdata jpa使用 spring data jpa基本语法_分页_04


4. 使用原生的sql查询,设置nativeQuery=true即可

springdata jpa使用 spring data jpa基本语法_级联_05


5.使用query注解完成update和delete操作

springdata jpa使用 spring data jpa基本语法_springdata jpa使用_06

springdata jpa使用 spring data jpa基本语法_springdata jpa使用_07



6.使用crudRespository接口,继承即可:

springdata jpa使用 spring data jpa基本语法_分页_08


7.使用pagingAndSortingRepository: 父接口为crudRespository

分页查询 图片当前页注意是+1,不是拼接 图片错了

springdata jpa使用 spring data jpa基本语法_当前页_09


8.分页加排序

图片当前页注意是+1,不是拼接 图片错了

springdata jpa使用 spring data jpa基本语法_当前页_10


9.jpaRepository接口 父为pagingAndSortingRepository

springdata jpa使用 spring data jpa基本语法_当前页_11


springdata jpa使用 spring data jpa基本语法_分页_12


springdata jpa使用 spring data jpa基本语法_分页_13


后update

springdata jpa使用 spring data jpa基本语法_当前页_14

10.jpaspecificationExecutor接口

实现带查询条件分页

springdata jpa使用 spring data jpa基本语法_分页_15


方法使用:

springdata jpa使用 spring data jpa基本语法_springdata jpa使用_16

springdata jpa使用 spring data jpa基本语法_当前页_17


模糊匹配查询类型

springdata jpa使用 spring data jpa基本语法_当前页_18


:

11.自定义一个repsotory方法

springdata jpa使用 spring data jpa基本语法_springdata jpa使用_19


springdata jpa使用 spring data jpa基本语法_springdata jpa使用_20

springdata jpa使用 spring data jpa基本语法_springdata jpa使用_21


多表关系

一对多

springdata jpa使用 spring data jpa基本语法_级联_22


springdata jpa使用 spring data jpa基本语法_springdata jpa使用_23


springdata jpa使用 spring data jpa基本语法_分页_24


springdata jpa使用 spring data jpa基本语法_分页_25


springdata jpa使用 spring data jpa基本语法_分页_26

可以放弃一的一方外键约束 对于上的条件多了一条 update,再次操作上图就不会多了一条多余的update

springdata jpa使用 spring data jpa基本语法_级联_27

springdata jpa使用 spring data jpa基本语法_分页_28

级联添加与删除

springdata jpa使用 spring data jpa基本语法_当前页_29

springdata jpa使用 spring data jpa基本语法_springdata jpa使用_30


springdata jpa使用 spring data jpa基本语法_springdata jpa使用_31

多表关系

多对多

springdata jpa使用 spring data jpa基本语法_分页_32


springdata jpa使用 spring data jpa基本语法_当前页_33

放弃维护关系 被选择的一方 角色被选择

springdata jpa使用 spring data jpa基本语法_分页_34

多对多的级联

springdata jpa使用 spring data jpa基本语法_当前页_35


springdata jpa使用 spring data jpa基本语法_springdata jpa使用_36


springdata jpa使用 spring data jpa基本语法_当前页_37