1. 程式人生 > >springBoot 使用 mybatis-plus 外掛 實現分頁

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 

結果