SpringBoot使用 MyBatis Plus 實現物理分頁查詢


 

 

一、分頁配置
在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;
    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM