在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方便很多,代码简介很过