如果你也在用 MyBatis,建议尝试该分页插件,这一定是最方便使用的分页插件。 分页插件支持任何复杂的单表、多表分页,部分特殊情况请看重要提示。 想要使用分页插件?请看如何使用分页插件。
普通项目PageHelper使用教程
项目集成
使用 PageHelper 你只需要在 classpath 中包含 pagehelper-x.x.x.jar 和 jsqlparser-0.9.5.jar。
如果你使用 Maven,你只需要在 pom.xml 中添加下面的依赖:
代码语言:javascript复制<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>最新版本</version>
</dependency>
配置拦截器插件
在 Spring 配置文件中配置拦截器插件
代码语言:javascript复制<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语句
代码语言:javascript复制<select id="findAll" resultType="Map">
select
*
from user
</select>
查询所有user表的记录
分页插件用法
代码语言:javascript复制@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 中添加如下依赖
代码语言:javascript复制<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
直接使用分页,无需配置
代码语言:javascript复制@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