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