一、分頁配置
在MyBatis Plus 可以直接使用selectPage這樣的分頁,但返回的數據確實是分頁后的數據,但在控制台打印的SQL語句其實並沒有真正的物理分頁,而是通過緩存來獲得全部數據中再進行的分頁,這樣對於大數據量操作時是不可取的,那么接下來就敘述一下,真正實現物理分頁的方法。
官方在分頁插件上如是描述:自定義查詢語句分頁(自己寫sql/mapper),也就是針對自己在Mapper中寫的方法,但經過測試,如果不配置分頁插件,其默認采用的分頁為RowBounds的分頁即邏輯分頁,也就是先把數據記錄全部查詢出來,然在再根據offset和limit截斷記錄返回(數據量大的時候會造成內存溢出),故而不可取,而通過分頁插件的配置即可達到物理分頁效果。
增加一個配置類
MybatisPlusConfig.java
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class MybatisPlusConfig { /** * mybatis-plus分頁插件 */ @Bean public PaginationInterceptor paginationInterceptor() { PaginationInterceptor page = new PaginationInterceptor(); page.setDialectType("mysql"); return page; } }