springBoot 使用 mybatis-plus 实现分页
原文链接:https://blog.csdn.net/sinat_34338162/article/details/83543994
一、项目结构

二、pom.xml 依赖添加 (这里我是加在krystal_dao的pom.xml里面,单个项目,直接加在pom.xml,多模块根据自己项目情况添加)
- <dependency>
- <groupId>com.baomidougroupId>
- <artifactId>mybatis-plusartifactId>
- <version>3.0-betaversion>
- dependency>
三、新建MyBatisPlusConfig.java (这里我用专门一个模块添加一些功能代码,里面依赖自己根据爆错的添加进去即可)

- package com.dm.krystal.core.config;
- import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
- import org.mybatis.spring.annotation.MapperScan;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- /**
- * @author krystal
- * @date 2018/10/30
- */
- @Configuration
- /*@MapperScan("com.dm.krystal")*/ /* KrystalApiApplication在启动文件上写了,这里不加*/
- public class MyBatisPlusConfig {
- /**
- * mybatis-plus分页插件
- */
- @Bean
- public PaginationInterceptor paginationInterceptor() {
- PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
- return paginationInterceptor;
- }
- }
四、具体代码实现
1.controller
- @GetMapping("/findAllUser")
- @ResponseBody
- public List<User> findAllUser(){
- User user = new User();
- int page=2;//当前页
- int pageSize=4;//页面接收数据大小
- IPage<User> iPage = userService.selectPageExt(user, page, pageSize);
- iPage.getRecords();
- return iPage.getRecords();
- }
- }
2.service

3.serviceImp

- public IPage<User> selectPageExt(User user, int page, int pageSize) throws RuntimeException {
- try {
- Page<User> p = new Page<>(page, pageSize);
- p.setRecords(userDao.selectPageExt(p, user));
- return p;
- } catch (Exception e) {
- throw new RuntimeException(e.getMessage());
- }
- }
4.dao
List<User> selectPageExt(Page<User> page, @Param("user") User user);
5. .xml
- <select id="selectPageExt" resultType="com.dm.krystal.entity.User">
- select
- <include refid="userColumns"/>
- from sys_user
- select>
五、sql 打印
select * from sys_user LIMIT 4,4
结果
