准备
依赖
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-autoconfigure</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.3</version> </dependency>
application.xml
pagehelper:
# helper-dialect:需要进行分页的数据库,如果不配置会默认进行分析
helper-dialect: mysql
# reasonable分页参数合理化,默认是false。
# 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页;
# 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据
reasonable: true
# support-methods-arguments支持通过 Mapper 接口参数来传递分页参数
# 默认值 false
support-methods-arguments: true
# params为了支持startPage(Object params)方法,增加了该参数来配置参数映射,
# 用于从对象中根据属性名取值
# 默认值为 countSql
params: count=countsql
Mapper.xml
sal语句中不用手动添加limit
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.dao.UserMapper"> <sql id="Base_Column_List"> user_id, card_type, card_no, user_name, user_sex, user_age, user_role </sql> <!--查询的Sql语句--> <select id="selectAll" resultType="com.example.entity.User"> select <include refid="Base_Column_List"/> from user </select> </mapper>
test
@SpringBootTest class SpringBootSsm08ApplicationTests { @Resource private UserMapper userMapper; @Test public void testMapper() { //这句话一定要在执行查询语句之前先声明,确定需要查询的页数和每页查询几条数据 PageHelper.startPage(2,3); List<User> userList = userMapper.selectAll(); PageInfo<User> pageInfo = new PageInfo<>(userList); List<User> list = pageInfo.getList(); //输出一下pageInfo对象 System.out.println(pageInfo); System.out.println("---------------"); for(User user:list){ System.out.println(user); } } }
访问验证
拦截后自动填加limit