Spring Data JPA注解式查询方法

Spring Data JPA撑持JPQL语法, 可以利用注解的体例自界说查询语句, 可以利用sql原生的语法, 也可以利用JPQL语法, 我们利用@Query注解的value和nativeQuery的值 。 利用声明式的JPQL语句, 可以在启动项目标时辰就知道语法是否准确, 语法错误额时辰启动就会报错 。

需要这些哦
IntelliJ IDEA
方式/
1【Spring Data JPA注解式查询方法】起首, 声明的注解在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注解式查询方法

文章插图

注重事项注重JPQL和原生sql语法的区别 。

以上内容就是Spring Data JPA注解式查询方法的内容啦, 希望对你有所帮助哦!

    推荐阅读