JPQL SQL 基于参数列表进行查询
JPQL SQL make a query base on a list of arguments
我有一个class关注的人
public class Person{
String name;
//----------
}
我想查询姓名为"name1"、姓名为"name2"、姓名为"name3"的人员名单....
所以,我想要一个像这样的功能
public void queryPersonsWhithNameLike(List<String> names){
//here is my query
String queryStr = "select p from Person p where p.name LIKE :names.get(0) AND p.name LIKE :names.get(1) AND p.name LIKE :names.ger(2) AND......";
}
请问我如何使用 sql 和 jpql 编写这样的查询?
public void queryPersonsWhithNameLike(列出姓名){
遍历列表并构建查询:
String queryStr = "select p from Person p";
int count=0;
for(String str:names) {
if(count==0) queryStr+="WHERE p.name LIKE :name"+count;
else queryStr+=" AND p.name LIKE :name"+count;
count++;
}
... Initialize query
for(String str:names) {
... Set all the :name+count as parameters
}
我有一个class关注的人
public class Person{
String name;
//----------
}
我想查询姓名为"name1"、姓名为"name2"、姓名为"name3"的人员名单.... 所以,我想要一个像这样的功能
public void queryPersonsWhithNameLike(List<String> names){
//here is my query
String queryStr = "select p from Person p where p.name LIKE :names.get(0) AND p.name LIKE :names.get(1) AND p.name LIKE :names.ger(2) AND......";
}
请问我如何使用 sql 和 jpql 编写这样的查询?
public void queryPersonsWhithNameLike(列出姓名){ 遍历列表并构建查询:
String queryStr = "select p from Person p";
int count=0;
for(String str:names) {
if(count==0) queryStr+="WHERE p.name LIKE :name"+count;
else queryStr+=" AND p.name LIKE :name"+count;
count++;
}
... Initialize query
for(String str:names) {
... Set all the :name+count as parameters
}