mybatis-plus分頁傳入?yún)?shù)后sql where條件沒有l(wèi)imit分頁信息操作
折騰了差不多兩個(gè)小時(shí),各種方法嘗試,后來想想應(yīng)該是where過濾后的數(shù)據(jù)量沒有達(dá)到默認(rèn)一頁規(guī)定的數(shù)量所以干脆where就不顯示limit信息了,試了一下還真是。。。這作者還真是把程序做的足夠智能,可是這個(gè)智能也讓我白白花掉了兩個(gè)小時(shí)。。。還是自己太笨了……
但是奇怪的是,如果我不設(shè)置QueryWrapper參數(shù),where后面的分頁限制又是可以出來的。百思不得其解作者的想法。。。
具體看代碼:
@Override public PageUtils queryPage(Map<String, Object> params) { IPage<OrderEntity> page = this.page( new Query<OrderEntity>().getPage(params), new QueryWrapper<OrderEntity>().eq(!UtilString.isNull(params.get("user_id")) ,"user_id", params.get("user_id")) ); return new PageUtils(page); }
記錄的目的是希望跟我一樣遇到這個(gè)特殊情況的童鞋能快速繞過這個(gè)彎,時(shí)間寶貴。晚安^.^
最后附上官方文檔,希望大家多看看文檔系統(tǒng)性的了解
https://mp.baomidou.com/guide/dynamic-datasource.html
補(bǔ)充知識(shí):記錄逆向工程生成的mybatisplus分頁方法limit失效的坑
因?yàn)槲以诮鉀Q問題之前也是在網(wǎng)上查找方法和官網(wǎng)查找方法都有沒有解決,所以也是我寫這篇文章的原因,希望
后面的同學(xué)在開發(fā)的時(shí)候能夠少走彎路
controller層
@RequestMapping("/list") public R list(@RequestParam Map<String, Object> params){ PageUtils page = categoryService.queryPage(params); return R.ok().put("page", page); }
傳遞的參數(shù)如圖
server接口
public interface CategoryService extends IService<CategoryEntity> { PageUtils queryPage(Map<String, Object> params); }
問題及解決辦法(這是網(wǎng)上的辦法并沒有解決。。。。。)
然而在查詢時(shí),分頁并沒有生效,查詢的結(jié)果是該表中的所有數(shù)據(jù),在pom無誤的情況下,檢查有沒有把分頁攔截器注入到spring中。
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class mybatisPlusConfig { @Bean public PaginationInterceptor paginationInterceptor(){ return new PaginationInterceptor(); } }
以上是在網(wǎng)上找的到解決辦法,我復(fù)制到項(xiàng)目中顯示方法是過時(shí)的,而且并不生效
后來找到問題是我的mybatisplus版本 太高了,所以不支持
這個(gè)是我maven中引用的版本
然后在網(wǎng)上搜索的攔截器方法
采用新的分頁方法問題就解決了
問題的關(guān)鍵是 怎么去根本查找問題,對(duì)我就是反思查找問題的方法,不至于今天浪費(fèi)了1,2個(gè)小時(shí)都沒有找到,就是先去官方文檔.
查看官方的實(shí)例代碼 ?。。。。?!
以下是我在gitee上查找到的逆向工程
因?yàn)轫?xiàng)目工期非常的緊,而我拿著同事的老框架代碼看著非常頭疼,這個(gè)時(shí)候選擇逆向工程,自己搭建一個(gè)輕量級(jí)的框架那不是爽歪歪嗎?
因?yàn)轫?xiàng)目是采用的springcloud微服務(wù),我負(fù)責(zé)的一個(gè)系統(tǒng)所以可以為所欲為。
這邊我使用的逆向工程是gitee上的人人開源網(wǎng)renren-generator 框架
他生成的代碼中沒有分頁方法的攔截器,我在官網(wǎng)上查找到方法也是過時(shí)的,這點(diǎn)是很坑的。
以上這篇mybatis-plus分頁傳入?yún)?shù)后sql where條件沒有l(wèi)imit分頁信息操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Mybatis-Plus 多表聯(lián)查分頁的實(shí)現(xiàn)代碼
- Mybatis-plus新版本分頁失效PaginationInterceptor過時(shí)的問題
- MyBatis-Plus 分頁查詢以及自定義sql分頁的實(shí)現(xiàn)
- mybatis-plus分頁查詢的實(shí)現(xiàn)示例
- MyBatis-Plus分頁插件不生效的解決方法
- MyBatis-Plus實(shí)現(xiàn)2種分頁方法(QueryWrapper查詢分頁和SQL查詢分頁)
- MyBatis-Plus分頁時(shí)排序的實(shí)現(xiàn)方法
- 解決mybatis-plus3.4.1分頁插件PaginationInterceptor和防止全表更新與刪除插件SqlExplainInterceptor過時(shí)失效問題
- Mybatis-Plus中分頁插件PaginationInterceptor的使用
- 一文搞懂Mybatis-plus的分頁查詢操作
- MyBatis-Plus 分頁插件配置的兩種方式實(shí)現(xiàn)
相關(guān)文章
Mysql性能優(yōu)化案例研究-覆蓋索引和SQL_NO_CACHE
這篇文章主要介紹了Mysql性能優(yōu)化案例研究-覆蓋索引和SQL_NO_CACHE,需要的朋友可以參考下2016-03-03Mysql存儲(chǔ)過程學(xué)習(xí)筆記--建立簡單的存儲(chǔ)過程
我們常用的操作數(shù)據(jù)庫語言SQL語句在執(zhí)行的時(shí)候需要要先編譯,然后執(zhí)行,而存儲(chǔ)過程(Stored Procedure)是一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫中,用戶通過指定存儲(chǔ)過程的名字并給定參數(shù)(如果該存儲(chǔ)過程帶有參數(shù))來調(diào)用執(zhí)行它。2014-08-08解決Win10系統(tǒng)安裝MySQL8.0遇到的問題
這篇文章主要介紹了Win10系統(tǒng)安裝MySQL8.0遇到的問題及解決方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-12-12