求助:如何使用hibernate自带的分页功能,在jsp页面上实现分页功能。

时间:2022-09-20 20:28:15
如何使用hibernate自带的分页功能,在jsp页面上实现分页功能。
    小弟新手,如果哪位兄弟有这方面的例子的话请赐教,谢谢了~~!

5 个解决方案

#1


该回复于2015-05-26 13:20:54被管理员删除

#2


顶上去,希望高手指教

#3


我也很想知道这个问题,关注!!!!!!

#4


jsp 和 HIBERNATEZ 之间好像没有直接的关系把
你要不是用的MVC把
Query q = session.createQuery(sql);
 q.setFirstResult(pageNum);从第几条开始
 q.setMaxResults(rowsPerPage);每页现实我少条

#5


web层用jsp或者其它什么并不重要,主要是分页的查询方法。
使用hibernate的话,在DAO层实现一个方法:
public List<User> findUsers(String name,SplitPage splitPage) {
String sql = "from User u ";
if (name != null && !name.equals("")) {
sql += "and u.name like :name ";
}
Session session = this.getSession();
Query query = session.createQuery(sql);
if (name != null && !name.equals("")) {
query.setString("name", "%" + name + "%");
}
splitPage.setRecordCount(query.list().size());//记录本次查询的实际查询条数
   query.setFirstResult(splitPage.getStartRecord()); //设置本次查询的起始行号
query.setMaxResults(splitPage.getPageSize());  //设置本次查询的记录条数
                List list = query.list();
if (list != null && list.size() > 0) {
return list;
} else {
return new ArrayList<User>();
}
}

其中SplitPage是自己定义的一个javabean,用于传递分页的参数。他有三个属性startRecord pageSize recordCount,从名字可以看出它们代表什么意思,我就不解释了。

#1


该回复于2015-05-26 13:20:54被管理员删除

#2


顶上去,希望高手指教

#3


我也很想知道这个问题,关注!!!!!!

#4


jsp 和 HIBERNATEZ 之间好像没有直接的关系把
你要不是用的MVC把
Query q = session.createQuery(sql);
 q.setFirstResult(pageNum);从第几条开始
 q.setMaxResults(rowsPerPage);每页现实我少条

#5


web层用jsp或者其它什么并不重要,主要是分页的查询方法。
使用hibernate的话,在DAO层实现一个方法:
public List<User> findUsers(String name,SplitPage splitPage) {
String sql = "from User u ";
if (name != null && !name.equals("")) {
sql += "and u.name like :name ";
}
Session session = this.getSession();
Query query = session.createQuery(sql);
if (name != null && !name.equals("")) {
query.setString("name", "%" + name + "%");
}
splitPage.setRecordCount(query.list().size());//记录本次查询的实际查询条数
   query.setFirstResult(splitPage.getStartRecord()); //设置本次查询的起始行号
query.setMaxResults(splitPage.getPageSize());  //设置本次查询的记录条数
                List list = query.list();
if (list != null && list.size() > 0) {
return list;
} else {
return new ArrayList<User>();
}
}

其中SplitPage是自己定义的一个javabean,用于传递分页的参数。他有三个属性startRecord pageSize recordCount,从名字可以看出它们代表什么意思,我就不解释了。

相关文章