在Java中 方我们需要大量循环执行sql语句时,采用预编译 可以提高效率,在设置参数时可以使用session query的方法来设置参数
Object[] params = new
Integer
[]{1, 2};
String hql =
"from UUser where id in (?,?,?,?)"
;
Query query = session.createQuery(hql);
for
(
int
i = 0; i < params.length; i++)
{
query.setParameter(i, params[i]);
}
String hql =
"from Student where id in (:valueList)"
;
Query query = session.createQuery(hql);
query.setParameterList(
"valueList"
, params);
可以使用query.setParameter来设置参数
String hqlF =
"from Student where id in (?,?)"
;
query.setParameter(i, params[i]);
当有使用到in参数来连接条件时 则可以使用setParameterList来使用
String hqlS =
"from Student where id in (:valueList)"
;
queryS.setParameterList(
"valueList"
, params);
这样方便很多 而且显然setParameterList比setParameter方便很多,代码简介很过