Spring Data JPA注解式查询方法

2025-04-18 10:05:33

1、首先,声明的注骈禄笫杳解在Repository的查询方法上,例如 select u from User u 我们可以看出和原生sql有些不同之处,另外也支持大于小于等查询select u from User u where u.age > 30。

Spring Data JPA注解式查询方法

2、使用注解实现模糊查询,注意模糊查询的字段不会自动加上%关键字的,需要在查询语句上手动去拼接,查询条件的写法也需要注意。

Spring Data JPA注解式查询方法

3、另外,也支持原生的sql查询,只需要设置nativeQuery = true即可。nativeQuery是不支持直接传Sort参数进行排序的,我们直接在sql中使用order by进行排序,模糊查询中%的拼接还可以使用concat关键字。

Spring Data JPA注解式查询方法

4、@Query注解在JPQL的情况下,可以使用PageRequest或者Sort参数,排序的字段需要和Entity实体类中的字段名称相匹配。使用Page对象进行接收的时候,参数直接传Pageable即可。

Spring Data JPA注解式查询方法

5、对原生sql的分支支持不太好用,注意在下图中#pageable#是必须的,查询和计数count要分开写,分别写两条sql语句,使用起来比较麻烦,不太建议这么做,会让接收代码的人很难看懂,这种情况下就可以考虑将结果查出后手动分页了。

Spring Data JPA注解式查询方法

6、@Param注解的使用,一般情况下方法的传参是通过顺序绑定的方式进行的,传参时很容易弄错参数的位置,使用@Param注解可以绑定参数传参时的具体名称,非常实用。

Spring Data JPA注解式查询方法

7、最后再介绍一下@Modifying注解,该注解的作用是修改和删除,配合@Query注解,使用JPQL或者原生sql进行操作,代码如下图所示。

Spring Data JPA注解式查询方法
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢