配置MyBatis Plus 的分页查询功能
一. 回顾Mysql分页查询
limit
是MySQL当中特有的!其他数据库没有!不通用;- limit 是MySQL语句中最后执行的环节! 而 distinct必须是select后第一个;
- 使用
limit
来进行分页查询;
limit 语法: limit (start),length
start :起始位置 ,0表示第一条数据的索引,start=0时可省略
length:从start 开始,表示取 length 几个
分页查询公式:
每页显示Size条记录,第n页的格式: Limit (n-1)x Size , Size
二. 配置MyBatis Plus 分页功能
2.1 定义分页拦截器
分页查询的本质就是在Select 语句最后加上 Limit , ,这相当于是在原来sql语句上进行了增强, 这里使用interceptor 拦截器来实现增强,所以要配置一个分页拦截器!
1.在config层定义mybatisplus的拦截器类;
2.拦截器中添加分页拦截器;
3.定义成 @bean
和 @Configuration
,分页拦截器类就能被Spring启动类扫描到;
2.2 进行分页查询 selectPage()
注:IPage
是接口,Page
是其实现类;
- 用page实现IPage接口创建对象,,
- 调用代理接口的
selectPage()
方法
第一个参数:查询第几页
第二个参数:每页多少行数据
如每页2行,查询第1页;
打印结果:
三. 开启MyBatis Plus的运行日志
如果要观察最后运行的sql情况,可以在日志中查看;
- 在yml配置文件中开启日志:
- 控制台自动打印日志
可以看到分页查询实际上就是在sql后面加了 limit!