MyBatis-----7.pageHelper分页助手

匿名 (未验证) 提交于 2019-12-02 23:57:01

pageHelper是一款免费的分页插件,可以适用于多种数据库。

使用分页插件可以大大减少代码量,这里将介绍分页插件的使用方法。

1.下载地址

https://github.com/pagehelper/Mybatis-PageHelper

2.使用方法:

2.1配置分页助手:

  在conf.xml中添加如下代码,注意添加在<properties resource="db.properties"/>后面

<!-- 配置分页插件 --> <plugins>         <!-- com.github.pagehelper为PageHelper类所在包名 -->             <plugin interceptor="com.github.pagehelper.PageInterceptor">                  <!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->              <property name="helperDialect" value="mysql"/>         </plugin> </plugins>

2.2定义UsersMapper.xml

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--  com.zhiyou.zyl.UsersMapper.getUser --> <mapper namespace="com.zhiyou.zyl.dao.UsersDao">     <select id="selectAll" resultType="com.zhiyou.zyl.bean.Users">         select * from users     </select> </mapper>

2.3测试分页

  class UsersTest {     static SqlSession session =null;     static UsersDao ud;     @BeforeAll     static void setUpBeforeClass() throws Exception {         String resource = "conf.xml";         //加载 mybatis 的配置文件(它也加载关联的映射文件)         Reader reader = Resources.getResourceAsReader(resource);         //构建 sqlSession 的工厂         SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);         //创建能执行映射文件中 sql 的 sqlSession         session = sessionFactory.openSession();                  ud=session.getMapper(UsersDao.class);     }      @AfterAll     static void tearDownAfterClass() throws Exception {         //提交         session.commit();     }      @Test     void testSelectAll() {         int pageNum=1;         int pageSize=2;         PageHelper.startPage(pageNum, pageSize);              List<Users> users=ud.selectAll();         PageInfo<Users> list = new PageInfo<Users>(users);                          System.out.println(list);     }

2.4运行结果

PageInfo{pageNum=1, pageSize=2, size=2, startRow=1, endRow=2, total=4, pages=2, list=Page{count=true, pageNum=1, pageSize=2, startRow=0, endRow=2, total=4, pages=2, reasonable=false, pageSizeZero=false}[Users [id=1, name=张三, age=18], Users [id=2, name=李四, age=19]], prePage=0, nextPage=2, isFirstPage=true, isLastPage=false, hasPreviousPage=false, hasNextPage=true, navigatePages=8, navigateFirstPage=1, navigateLastPage=2, navigatepageNums=[1, 2]}

2.5pageInfo属性介绍:

pageNum: 当前页码

startRow/endRow: 开始/结束条数

navigatePages:导航页码数

navigateFirstPage:导航第一页

navigateLastPage:导航下一页

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!