通过 plugins标签实现分页助手的使用详解
需求
对查询的数据进行分页查询。
分析:MyBatis使用第三方的插件来对功能进行扩展,分页助手PageHelper是将分页的复杂操作进行封装,使用简单的方式即可获得分页的相关数据。
实现步骤
1.导入通用PageHelper的坐标
2.在mybatis核心文件中配置PageHelper插件
3.编写测试分页代码
代码详解:
1.导入通用PageHelper的坐标(依赖包)

<!-- 分页助手 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>3.7.5</version>
</dependency>
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>0.9.1</version>
</dependency>
2.在mybatis核心文件中配置PageHelper插件

<!--分页助手插件:插入配置的位置也十分重要,位置不对会报错-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<!--value :指定方言,MYSQL等数据库的分页语法不同,这里是指定采用哪种数据库的分页语法-->
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
3.编写测试分页代码

/** * 测试分页插件的使用 */ @Test public void test7() throws IOException { InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml"); SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream); SqlSession sqlSession = build.openSession(); InterfaceEmp mapper = sqlSession.getMapper(InterfaceEmp.class); /*pageNum表示当前数据是第几页,pageSize表示当前也展示的数据条数*/ PageHelper.startPage(1,2); List<Emp> emps = mapper.selectAll(); for (Emp emp : emps) { System.out.println(emp); } /*如下也分页插件的其他相关函数*/ PageInfo<Emp> pageInfo = new PageInfo<>(emps); System.out.println("总条数:" + pageInfo.getTotal()); System.out.println("总页数:" + pageInfo.getPages()); System.out.println("当前页:" + pageInfo.getPageNum()); System.out.println("每页显示长度:" + pageInfo.getPageSize()); System.out.println("是否第一页:" + pageInfo.isIsFirstPage()); System.out.println("是否最后一页:" + pageInfo.isIsLastPage()); sqlSession.close(); }
知识点详解
该实现中主要是用到PageHelper标签,该标签的作用是在Mybatis中配置第三方插件。

浙公网安备 33010602011771号