@Qiery 注解

  • 使用@Query自定义查询

    1. 查询可以声明在Repository方法中,摆脱像命名查询那样的约束,将查询直接在相应的接口方法中声明,就更为清晰
  • 列子

@Query("SELECT p FROM Person p where p.id = (SELECT MAX(p2.id) FROM Person p2)")
    Person getMaxIdPerson();
  • 传参方式
    1. 使用占位符 ?1 ?2
    2. 命名参数传递 :属性名 ,此时在方法上需要@Param(”属性名”)
    3. 如果@Query中又LIKE关键字,后面的参数或后面的参数加上%,这样在参数传递时可不加%
@Query("SELECT P FROM Person p where name = ?1 and email = ?2")
    List<Person> testQueryAnnotationParamasl(String name, String email);

@Query("SELECT P FROM Person p where p.name = :name And p.email = :email")
    List<Person> testQueryAnnotationParamasl2(@Param("email") String email, @Param("name") String name);
@Query("SELECT P FROM Person p where p.name like %?1% or p.name like %?2%")
    List<Person> testQueryAnnotationParamasl3(String email, String name);
  • 可指定本地查询,只要设置nativeQuery为true
@Query(value = "SELECT count(id) FROM jpa_person ", nativeQuery = true)
    long testQuery();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值