springBoot 使用 mybatis-plus 外掛 實現分頁
阿新 • • 發佈:2018-11-23
一、專案結構
二、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
結果