如果你也在用 MyBatis,建议尝试该分页插件,这一定是最方便使用的分页插件。
分页插件支持任何复杂的单表、多表分页,部分特殊情况请看重要提示
想要使用分页插件?请看如何使用分页插件

普通项目PageHelper使用教程

项目集成

使用 PageHelper 你只需要在 classpath 中包含 pagehelper-x.x.x.jarjsqlparser-0.9.5.jar

如果你使用 Maven,你只需要在 pom.xml 中添加下面的依赖:

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>最新版本</version>
</dependency>

配置拦截器插件

在 Spring 配置文件中配置拦截器插件

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="mapperLocations" value="classpath:com/sinyat/api/weather/mapping/*.xml" />
    <property name="typeAliasesPackage" value="com.sinyat.api.weather.model" />
    <property name="plugins">
        <array>
            <bean class="com.github.pagehelper.PageHelper">
                <property name="properties">
                    <value>
                    dialect=mysql
                    </value>
                </property>
            </bean>
        </array>
    </property>
</bean>

写查询sql语句

<select id="findAll" resultType="Map">
    select
    *
    from user
</select>

查询所有user表的记录

分页插件用法

@RequestMapping("/findUserAll")
@ResponseBody
public Result findUserAll(Integer pageNum ,Integer pageSize){
    PageHelper.startPage(pageNum,pageSize);//设置分页信息
    List<Map> list = userDao.findAll();
    PageInfo pageInfo=new PageInfo(list);
    return  new Result(0,"加载成功",pageInfo);
}
        

最简单的用法示例,PageHelper.startPage(pageNum,pageSize);->查询->PageInfo pageInfo=new PageInfo(list);


Spring Boot项目用法

在 pom.xml 中添加如下依赖

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.3</version>
</dependency>

直接使用分页,无需配置

@RequestMapping("/findUserAll")
@ResponseBody
public Result findUserAll(Integer pageNum ,Integer pageSize){
    PageHelper.startPage(pageNum,pageSize);//设置分页信息
    List<Map> list = userDao.findAll();
    PageInfo pageInfo=new PageInfo(list);
    return  new Result(0,"加载成功",pageInfo);
}
        

更详细内容请去GitHub查看Mybatis-PageHelper