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