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

来源:互联网 发布:python廖雪峰博客 编辑:程序博客网 时间:2024/05/29 03:14

前面是直接查询所有用户,现在按照姓名模糊查询,带上用户名参数:



@Overridepublic int userNums() {List list = hibernateTemplate.find("select count(*) from Users");int num = Integer.parseInt(list.get(0).toString());return num;}
//带用户名模糊查询的总记录数@Overridepublic 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;}@Overridepublic 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;}
//带用户名模糊查询@Overridepublic 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;}


原创粉丝点击