这种查询可以声明在 Repository方法中,摆脱像命名查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是Springdata 的特有实现。
索引参数与命名参数
•索引参数如下所示,索引值从1开始,查询中”?X” 个数需要与方法定义的参数个数相一致,并且顺序也要一致
•命名参数(推荐使用这种方式):可以定义好参数名,赋值时采用@Param("参数名"),而不用管顺序。
•还可以使用@Query来指定本地查询,只要设置nativeQuery为true,比如:
–@Query(value="select * from tbl_userwhere name like %?1" ,nativeQuery=true)
public List<UserModel>findByUuidOrAge(Stringname);
•如果是@Query 中有 LIKE关键字,后面的参数需要前面或者后面加%,这样在传递参数值的时候就可以不加%:
–@Query("select o from UserModelo where o.name like ?1%")
public List<UserModel>findByUuidOrAge(Stringname);