解決pageHelper分頁失效以及如何配置問題
pageHelper分頁失效及配置問題
我在使用pageHelper的系統(tǒng)中加入mybatis-plus, 結(jié)果所有分頁都失效了
原因
我這邊的失效原因初步定為是因為mybatis-plus的自動配置和pageHelper的自動配置沖突了, 導(dǎo)致pageHelper的自動配置失效(最終是加上個配置類解決的)
解決方案
新建一個配置類
/**
?* @Author: WanG
?* @Date: 2019-05-13 18:42
?* @version: v1.0
?* @description: TODO
?*/
@Configuration
public class MybatisConfig {
? ?@Bean
? ?public PageHelper pageHelper() {
? ? ? PageHelper pageHelper = new PageHelper();
? ? ? Properties p = new Properties();
? ? ? p.setProperty("offsetAsPageNum", "true");
? ? ? p.setProperty("rowBoundsWithCount", "true");
? ? ? p.setProperty("reasonable", "true");
? ? ? pageHelper.setProperties(p);
? ? ? return pageHelper;
? ?}
}PageHelper分頁無效及報錯
第一種情況SQL報錯
> Error querying database. Cause: java.sql.SQLSyntaxErrorException: You
> have an error in your SQL syntax; check the manual that corresponds to
> your MySQL server version for the right syntax to use near 'LIMIT 5'
> at line 3
原因:在xml寫的sql帶了分號,由于PageHelper會在sql尾部追加limit,所以導(dǎo)致生成sql時有誤,導(dǎo)致錯誤。
錯誤寫法:
<select id="selectAll" resultMap="BaseResultMap"> ? ? ? ? SELECT * FROM student; </select>
正確寫法:
?<select id="selectAll" resultMap="BaseResultMap"> ? ? ? ? SELECT * FROM student </select>
第二種情況分頁無效
原因:可能是代碼前后順序有問題,應(yīng)該先寫分頁,再執(zhí)行sql。
錯誤寫法:
List<Student> students = studentMapper.selectAll(); PageHelper.startPage(1, 5, true);
正確寫法:
PageHelper.startPage(1, 5, true); List<Student> students = studentMapper.selectAll();
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(55)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你2021-08-08
Java?Spring?Dubbo三種SPI機(jī)制的區(qū)別
這篇文章主要介紹了Java?Spring?Dubbo三種SPI機(jī)制的區(qū)別,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下2022-08-08
關(guān)于Spring啟動時Context加載源碼分析
這篇文章通過源碼分析主要給大家介紹了關(guān)于Spring啟動時Context加載的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01
Java在Excel中添加水印的實現(xiàn)(單一水印、平鋪水印)
這篇文章主要介紹了Java在Excel中添加水印的實現(xiàn)(單一水印、平鋪水印),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Spring?@Cacheable注解類內(nèi)部調(diào)用失效的解決方案
這篇文章主要介紹了Spring?@Cacheable注解類內(nèi)部調(diào)用失效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01
使用TraceId在Spring Cloud中實現(xiàn)線上問題快速定位
在微服務(wù)架構(gòu)中,服務(wù)間的互相調(diào)用使得問題定位變得復(fù)雜,在此背景下,TraceId為我們提供了一個在復(fù)雜環(huán)境中追蹤請求路徑和定位問題的工具,本文不僅介紹TraceId的基本概念,還將結(jié)合真實場景,為您展示如何在Spring Cloud中應(yīng)用它2023-09-09
java讀取文件內(nèi)容的三種方法代碼片斷分享(java文件操作)
本文介紹java讀取文件內(nèi)容的三種方法,代碼可以直接放到程序中使用,大家參考使用吧2014-01-01

