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)鍵是 怎么去根本查找問題,對我就是反思查找問題的方法,不至于今天浪費(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)文章
centos7環(huán)境下創(chuàng)建mysql5.6多實(shí)例的方法詳解
這篇文章主要介紹了centos7環(huán)境下創(chuàng)建mysql5.6多實(shí)例的方法,詳細(xì)分析了centos7創(chuàng)建mysql5.6多實(shí)例的具體步驟、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-02-02
MySQL分表自動(dòng)化創(chuàng)建的實(shí)現(xiàn)方案
在數(shù)據(jù)庫應(yīng)用場景中,隨著數(shù)據(jù)量的不斷增長,單表存儲(chǔ)數(shù)據(jù)可能會(huì)面臨性能瓶頸,例如查詢、插入、更新等操作的效率會(huì)逐漸降低,分表是一種有效的優(yōu)化策略,它將數(shù)據(jù)分散存儲(chǔ)在多個(gè)表中,從而提高數(shù)據(jù)庫的性能和可維護(hù)性,本文介紹了MySQL分表自動(dòng)化創(chuàng)建的實(shí)現(xiàn)方案2025-01-01
MySQL系列之redo log、undo log和binlog詳解
這篇文章主要介紹了MySQL系列之redo log、undo log和binlog詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
mysql二進(jìn)制日志文件恢復(fù)數(shù)據(jù)庫
喜歡的在服務(wù)器或者數(shù)據(jù)庫上直接操作的兄弟們你值得收藏下!不然你就悲劇了。-----(當(dāng)然我也是在網(wǎng)上搜索的資料!不過自己測試通過了的!)2014-08-08

