猿问

问下数据库是怎么分页的,oracle和MySQL

别两句话回答,麻烦讲详细点,要足够应付面试官



fenkapian
浏览 1536回答 2
2回答

雪颲

为什么你不去看慕课网里面的分页教程呢

大咪

mysql的我比较清楚,oracle的没有实现过不太清楚,但感觉应该也差不多吧。。。首先呢要先创建对应的PageBean实体类啦,代码如下:public class PageBean<T> { private int currPage;//当前页数 private int pageSize;//每页显示的记录数 private int totalCount;//总记录数 private int totalPage;//总页数 private List<T> list;//每页显示的数据 public int getCurrPage() { return currPage; } public void setCurrPage(int currPage) { this.currPage = currPage; ......各种getter and  setter 方法,这里直接省略了 }然后是接收当前页数的代码: //接收当前页数 private int currPage = 1; public void setCurrPage(int currPage) { this.currPage = currPage; }然后是分页查询的方法:    //这部分代码是比较重要的 //分页查询部分的方法 @Override public PageBean<Department> findByPage(Integer currPage) { PageBean<Department> pageBean = new PageBean<Department>(); //封装当前页数 pageBean.setCurrPage(currPage); //封装每页显示记录数 int pageSize = 3; pageBean.setPageSize(pageSize); //封装总记录数 int totalCount = departmentDao.findCount(); pageBean.setTotalCount(totalCount); //封装总页数 double tc = totalCount; Double num = Math.ceil(tc / pageSize); pageBean.setTotalPage(num.intValue()); //封装每页显示的数据 int begin = (currPage -1)* pageSize; List<Department> list = departmentDao.findByPage(begin, pageSize); pageBean.setList(list); return pageBean; }比如接下来我要分页查询的是部门管理的分页,然后代码/** *分页查询部门  */ public List<Department> findByPage(int begin,int pageSize) { DetachedCriteria critertia = DetachedCriteria.forClass(Department.class); List<Department> list = this.getHibernateTemplate().findByCriteria(critertia, begin, pageSize); return list; }基本上全是代码,我觉得理解了代码比我说的要容易的多吧。。自己看下吧
随时随地看视频慕课网APP

相关分类

Java
我要回答