集成分页插件

为什么要集成分页插件

  • 不同的数据库分页的SQL语句可能是不一样的

MySQL的写法

  1. SELECT * FROM table_name LIMIT 5,5

SQL Server

  1. SELECT * FROM table_name OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY

第三方插件能够抹平不同数据库写SQL的差异。

  • 集成第三方插件在做分页查询的时候更加方便

集成pageHelper分页插件

gitHub链接
使用说明文档

Maven依赖

  1. <dependency>
  2. <groupId>com.github.pagehelper</groupId>
  3. <artifactId>pagehelper</artifactId>
  4. <version>5.3.0</version>
  5. </dependency>

MyBatis核心配置文件中添加插件

  1. <plugins>
  2. <plugin interceptor="com.github.pagehelper.PageInterceptor">
  3. <!--true 开启分页合理化:pageNum <= 0就会自动获取第1页,pageNum > 最后一页就会自动获取最后1页 -->
  4. <property name="reasonable" value="true"/>
  5. </plugin>
  6. </plugins>

外界使用

  1. @Test
  2. public void pageSelect(){
  3. SqlSession session = MyBatisUtils.openSession();
  4. PageHelper.startPage(2, 5);
  5. List<Customers> customersList = session.selectList("customers.pageSelect");
  6. }