本文共 3546 字,大约阅读时间需要 11 分钟。
是国人写的一款MyBatis的分页插件!
本文简单的说明一下他的使用: 要使用PageHelper,您只需要在类路径中包含 pagehelper-xyzjar 和jsqlparser-xyzjar文件。 如果您使用的是Maven,只需将以下依赖项添加到pom.xml中:< 依赖关系 >
< groupId > com.github.pagehelper </ groupId > < artifactId > pagehelper </ artifactId > < 版本 > xxx </ version > </ 依赖关系 > 配置MyBatis核心配置文件:方法一:(只需要加上 Page page = PageHelper.startPage(2, 3);)
public static void queryStudents() throws IOException { String resource = "conf.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sessionFactory.openSession(); //传入StudentMapper接口,返回该接口的mapper代理对象studentMapper StudentMapper studentMapper = session.getMapper(StudentMapper.class);//接口 //加入分页功能 Page
方法二(lambda)
public static void queryStudents() throws IOException { String resource = "conf.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sessionFactory.openSession(); //传入StudentMapper接口,返回该接口的mapper代理对象studentMapper StudentMapper studentMapper = session.getMapper(StudentMapper.class);//接口 //加入分页功能 Pagepage = PageHelper.startPage(2, 3).doSelectPage(()-> studentMapper.queryStudents()); List list = page.getResult(); for(Student student :list){ System.out.println(student); } System.out.println("当前页:"+page .getPageNum()); System.out.println("总数据量:"+page .getTotal()); System.out.println("总页码:" +page.getPages()); System.out.println("页面大小:" +page .getPageSize()); session.close(); }
单独想看更多的页面信息:(采用pageInfo)
public static void queryStudents() throws IOException { String resource = "conf.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sessionFactory.openSession(); //传入StudentMapper接口,返回该接口的mapper代理对象studentMapper StudentMapper studentMapper = session.getMapper(StudentMapper.class);//接口 //加入分页功能 PageHelper.startPage(2, 3);//1 Listlist = studentMapper.queryStudents() ; for(Student student :list){ System.out.println(student); } PageInfo pageInfo = new PageInfo<>(list); System.out.println("当前页:"+pageInfo.getPageNum()); System.out.println("总数据量:"+pageInfo.getTotal()); System.out.println("总页码:" +pageInfo.getPages()); System.out.println("页面大小:" +pageInfo.getPageSize()); System.out.println("最开头那一页:"+ pageInfo.getNavigateFirstPage()); System.out.println("每一页的页号"); for( int pageNum : pageInfo.getNavigatepageNums()){ System.out.println(pageNum); } session.close(); }
更多方法请看本文第一行的链接!
转载地址:http://sfhe.baihongyu.com/