Hibernate中不支持limit关键字,但提供的setFirstResult()和setMaxResults()方法可轻松实现分页
查询结果分页(相关代码)
@Override
public List<Emp> searchEmp(int depId, String name, int pageNo, int pageSize) {
List<Emp> emps=new ArrayList<Emp>();
String sql="";
int initial=pageSize*(pageNo-1); // 按页数取得开始行数
//判断是否输入名字
if("".equals(name)||(name==null))
{
sql="from Emp where dep.did="+depId;
}
else{
sql="select e from Emp e where e.dep.did="+depId+" and e.name like '%"+name+"%'";
}
session=sessionFactory.openSession();
session.beginTransaction();
emps= session.createQuery(sql).setFirstResult(initial).setMaxResults(pageSize).list();
session.getTransaction().commit();
session.close();
return emps;
}