MyBatis Plus——分页插件
生活随笔
收集整理的這篇文章主要介紹了
MyBatis Plus——分页插件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
官方文檔
https://mp.baomidou.com/guide/page.html?
示例工程
👉?mybatis-plus-sample-pagination
Spring XML?方式?
<!-- spring xml 方式 --> <property name="plugins"><array><bean class="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor"><property name="sqlParser" ref="自定義解析類、可以沒有"/><property name="dialectClazz" value="自定義方言類、可以沒有"/><!-- COUNT SQL 解析.可以沒有 --><property name="countSqlParser" ref="countSqlParser"/></bean></array> </property><bean id="countSqlParser" class="com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize"><!-- 設置為 true 可以優化部分 left join 的sql --><property name="optimizeJoin" value="true"/> </bean>Spring Boot方式?
//Spring boot方式 @EnableTransactionManagement @Configuration @MapperScan("com.baomidou.cloud.service.*.mapper*") public class MybatisPlusConfig {@Beanpublic PaginationInterceptor paginationInterceptor() {PaginationInterceptor paginationInterceptor = new PaginationInterceptor();// 設置請求的頁面大于最大頁后操作, true調回到首頁,false 繼續請求 默認false// paginationInterceptor.setOverflow(false);// 設置最大單頁限制數量,默認 500 條,-1 不受限制// paginationInterceptor.setLimit(500);// 開啟 count 的 join 優化,只針對部分 left joinpaginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));return paginationInterceptor;} }XML 自定義分頁
- UserMapper.java 方法內容
- UserMapper.xml 等同于編寫一個普通 list 查詢,mybatis-plus 自動替你分頁
- UserServiceImpl.java 調用分頁方法
DEMO
啟用分頁插件和啟用樂觀鎖插件都是通過注冊一個Bean完成
1、啟用分頁插件
@Bean public PaginationInterceptor paginationInterceptor(){return new PaginationInterceptor(); }2、測試分頁查詢
@Test public void testSelectPage(){//構建分頁條件第二頁每頁顯示3條Page<User> page=new Page<>(2,3);//使用分頁條件查詢,不使用其他條件userMapper.selectPage(page, null);//獲取分頁后查詢出的記錄List<User> records = page.getRecords();records.forEach(System.out::println);System.out.println("是否有下一頁:"+page.hasNext());System.out.println("是否有上一頁:"+page.hasPrevious());System.out.println("總記錄數:"+page.getTotal()); }?
參考文章
https://www.jianshu.com/p/18f5c5881653?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的MyBatis Plus——分页插件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue——prop双向绑定解决方案
- 下一篇: MFC——基于MFC对话框程序中添加菜单