springBoot 使用 mybatis-plus 插件 实现分页

一、项目结构

二、pom.xml 依赖添加   (这里我是加在krystal_dao的pom.xml里面,单个项目,直接加在pom.xml,多模块根据自己项目情况添加)

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus</artifactId>
    <version>3.0-beta</version>
</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 

结果

猜你喜欢

转载自blog.csdn.net/sinat_34338162/article/details/83543994