Spring Data JPA注解式查询方法

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

东西/原料

  • IntelliJ IDEA

方式/步调

  1. 1

    起首,声明的注解在Repository的查询方式上,例如 select u from User u 我们可以看出和原生sql有些分歧之处,别的也撑持 大于小于等查询select u from User u where u.age > 30。

  2. 2

    利用注解实现恍惚查询,注重恍惚查询的字段不会主动加上%关头字的,需要在查询语句上手动去拼接,查询前提的写法也需要注重。

  3. 3

    别的,也撑持原生的sql查询,只需要设置nativeQuery = true即可。nativeQuery 是不撑持直接传Sort参数进行排序的,我们直接在sql中利用order by进行排序,恍惚查询中%的拼接还可以利用concat关头字。

  4. 4

    @Query注解在JPQL的环境下,可以利用PageRequest或者Sort参数,排序的字段需要和Entity实体类中的字段名称相匹配。利用Page对象进行领受的时辰,参数直接传Pageable即可。

  5. 5

    对原生sql的分支撑持不太好用,注重鄙人图中#pageable#是必需的,查询和计数count要分隔写,别离写两条sql语句,利用起来比力麻烦,不太建议这么做,会让领受代码的人很难看懂,这种环境下就可以考虑将成果查出背工动分页了。

  6. 6

    @Param注解的利用,一般环境下方式的传参是经由过程挨次绑心猿意马的体例进行的,传参时很轻易弄错参数的位置,利用@Param注解可以绑心猿意马参数传参时的具体名称,很是适用。

  7. 7

    最后再介绍一下@Modifying注解,该注解的感化是点窜和删除,共同@Query注解,利用JPQL或者原生sql进行操作,代码如下图所示。

注重事项

  • 注重JPQL和原生sql语法的区别。
  • 发表于 2019-07-07 17:04
  • 阅读 ( 786 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具