Mybatis详解(五)----分页助手(pageHelper)

PageHelper

PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例如mysql、oracle、mariaDB、DB2、SQLite、Hsqldb等。

本项目在 github 的项目地址:https://github.com/pagehelper/Mybatis-PageHelper

本项目在 gitosc 的项目地址:http://git.oschina.net/free/Mybatis_PageHelper

下文截图的代码,都可在上面的github网址中查找到

 1、引入架包

  想要使用PageHelper,首先要引用架包,如下图所示

  

    jsqlparser.jar是sql解析工具和pagehelper配套使用,注意的是,在使用这两个架包的时候要注意两个版本的兼容问题,上图的两个架包是兼容的。

  2、 加入pagehelper的插件(mybatis配置文件中)

   

   3、测试

    做完1和2的配置就可以来测试一下效果了,代码如下:

package com.zhiyou100.zjc.mapper;

import static org.junit.jupiter.api.Assertions.*;

import java.io.Reader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.zhiyou100.zjc.bean.User;
import com.zhiyou100.zjc.dao.UserMapper;

class Test {
    static SqlSession session=null;
    final String url="com.zhiyou100.zjc.mapper.UserMapper";
    UserMapper usermapper =  session.getMapper(UserMapper.class);
    @BeforeAll
    static void setUpBeforeClass() throws Exception {
        Reader reader = Resources.getResourceAsReader("conf.xml");
        SqlSessionFactory sessionFactory  =new SqlSessionFactoryBuilder().build(reader);
        session  =sessionFactory.openSession();
    }    
    @AfterAll
    static void tearDownAfterClass() throws Exception {
        session.commit();
    } 
    @org.junit.jupiter.api.Test
    void getUserIdTest() {
        PageHelper.startPage(1, 2);
        List<User> list = usermapper.getSelectAll();
        PageInfo<User> pageInfo = new PageInfo<User>(list);
        System.out.println(pageInfo);         
    }
}

打印结果如下:

 

原文地址:https://www.cnblogs.com/zjc364259451/p/11439385.html