您的位置:首页 > 其它

毕业设计(十三)---后台用户管理(3)之- 带查询条件 分页查找方法

2015-09-19 00:00 871 查看
前面是直接查询所有用户,现在按照姓名模糊查询,带上用户名参数:

@Override
public int userNums() {
List list = hibernateTemplate.find("select count(*) from Users");
int num = Integer.parseInt(list.get(0).toString());
return num;
}

//带用户名模糊查询的总记录数
@Override
public int userNumsByUsername(String username) {
List list = hibernateTemplate.find("select count(*) from Users u where u.username like '%"+username+"%'");
int num = Integer.parseInt(list.get(0).toString());
return num;
}

@Override
public PageBean<Users> queryUsersForPage(int pageSize, int page) {
// 获取所以的记录数
int allRow = this.userNums();
// 获得总页数
int totalPage = PageBean.countTotalPage(pageSize, allRow);
// 计算当前页
final int currentPage = PageBean.coutCurrentPage(page);
// 当前要显示的起始数
final int offset = PageBean.countOffset(pageSize, currentPage);
// 获取要显示的页面信息 offset要显示页面的第一个的所以
List<Users> list = this.getListForPage("from Users", offset, pageSize);
// System.out.println(list);
PageBean<Users> pagebean = new PageBean();
pagebean.setPagesize(pageSize);
pagebean.setCurrentPage(currentPage);
pagebean.setAllRow(allRow);
pagebean.setTotalPage(totalPage);
pagebean.setList(list);
pagebean.init();
return pagebean;
}

//带用户名模糊查询
@Override
public PageBean<Users> queryUsersForPageByUsername(int pageSize, int page,
String username) {
// 获取所以的记录数
int allRow = this.userNumsByUsername(username);
// 获得总页数
int totalPage = PageBean.countTotalPage(pageSize, allRow);
// 计算当前页
final int currentPage = PageBean.coutCurrentPage(page);
// 当前要显示的起始数
final int offset = PageBean.countOffset(pageSize, currentPage);
// 获取要显示的页面信息 offset要显示页面的第一个的所以
List<Users> list = this.getListForPage("from Users u where u.username like '%"+username+"%'" , offset, pageSize);
// System.out.println(list);
PageBean<Users> pagebean = new PageBean();
pagebean.setPagesize(pageSize);
pagebean.setCurrentPage(currentPage);
pagebean.setAllRow(allRow);
pagebean.setTotalPage(totalPage);
pagebean.setList(list);
pagebean.init();
return pagebean;
}

public List<Users> getListForPage(final String hql, final int offset, final int length){
List list = hibernateTemplate.executeFind(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException,SQLException{
Query query = session.createQuery(hql);
query.setFirstResult(offset);
query.setMaxResults(length);
List<Users> list = query.list();
return list;
}
});
return list;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: