SpringData中@Query注解条件查询如何使用占位符

博客记录了Spring Data中@Query注解查询时条件查询使用占位符的方法。当命名查询无法满足需求,如子查询时,可使用@Query注解自定义查询。介绍了两种占位符使用方式,一是用?+数字,入参顺序要与注解标注顺序相同;二是:+参数名称,可自定义参数名并用@Param注解标注,无需考虑顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录一下@Query注解查询时候,条件查询如何使用占位符。
当springdata的命名查询满足不了我们的需求,如:子查询,这个时候我们就可以使用@Query注解来自定义查询。

(1)用?+数字的方法
这种方法方法,参数列表的,入参顺序必须与 @Query注解当中标注的顺序相同

   @Query("SELECT s  from  Student  s where  s.email=?1 and s.age=?2")
    Student findStudentByEmailAndAge(String email , Integer age);

(2):+参数名称
这种方式,可以自定义参数的名称 然后在如参数列表当中用@Param注解标注参数名称。不用考虑顺序,是根据参数名称进行绑定。

    @Query("SELECT s  from  Student  s where  s.email=:email and s.age=:age")
    Student findStudentByEmailAndAge2(@Param("age") Integer age, @Param("email") String email);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值