Mybatis pagehelper分頁(yè)插件使用過(guò)程解析
這篇文章主要介紹了mybatis pagehelper分頁(yè)插件使用過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
使用過(guò)mybatis的人都知道,mybatis本身就很小且簡(jiǎn)單,sql寫在xml里,統(tǒng)一管理和優(yōu)化。缺點(diǎn)當(dāng)然也有,比如我們使用過(guò)程中,要使用到分頁(yè),如果用最原始的方式的話,1.查詢分頁(yè)數(shù)據(jù),2.獲取分頁(yè)長(zhǎng)度,也就是說(shuō)要使用到兩個(gè)方法才能完成分頁(yè)。有沒(méi)有更更好的分頁(yè)方式的,pagehelper分頁(yè)插件因此而誕生,他的原理是利用mybatis攔截器,在查詢數(shù)據(jù)庫(kù)的時(shí)候,攔截下SQL,然后進(jìn)行修改,從而實(shí)現(xiàn)分頁(yè)(如果你硬是想知道原理,mybatis攔截器,學(xué)習(xí)過(guò)后你就知道什么回事了)。
這篇博客先向大家展示怎么使用,過(guò)后有時(shí)間再講他的實(shí)現(xiàn)原理。
1.添加maven依賴
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.0.0</version> </dependency>
2.在 Spring 配置文件中配置攔截器插件,也可以在mybatis的xml里面配置,但是兩種配置不能同時(shí)出現(xiàn),否則容易出現(xiàn)com.github.pagehelper.PageInterceptor插件出現(xiàn)空指針問(wèn)題
在spring.xml中定義:
<!--配置SqlSessionFactory對(duì)象 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:mybatis-config.xml" /> <property name="typeAliasesPackage" value="com.aoChine.model.entity" /> <property name="mapperLocations" value="classpath:mapper/*.xml" /> <!-- 配置mybatis分頁(yè)插件PageHelper --> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageInterceptor"> <property name="properties"> <!-- 什么都不配,使用默認(rèn)的配置 --> <value></value> </property> </bean> </array> </property> </bean>
在mybatis-config.xml中定義
<plugins> <!-- com.github.pagehelper為PageHelper類所在包名 --> <plugin interceptor="com.github.pagehelper.PageInterceptor"> <!-- 使用MySQL方言的分頁(yè) --> <property name="helperDialect" value="sqlserver"/><!--如果使用mysql,這里value為mysql--> <property name="pageSizeZero" value="true"/> </plugin> </plugins>
3.使用
a)寫正常查詢語(yǔ)句的接口
接口:
b)在service層調(diào)用接口,實(shí)現(xiàn)分頁(yè)。
分頁(yè)插件使用這樣就使用完畢了,博客只是介紹了最簡(jiǎn)單的使用方法,如果需要了解更多內(nèi)容
這個(gè)是開(kāi)源社區(qū)上面的插件庫(kù)地址:
https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Mybatis分頁(yè)插件PageHelper手寫實(shí)現(xiàn)示例
- Mybatis第三方PageHelper分頁(yè)插件的使用與原理
- SpringBoot+Mybatis分頁(yè)插件PageHelper實(shí)現(xiàn)分頁(yè)效果
- Mybatis利用分頁(yè)插件PageHelper快速實(shí)現(xiàn)分頁(yè)查詢
- Mybatis分頁(yè)插件PageHelper配置及使用方法詳解
- MyBatis分頁(yè)插件PageHelper的具體使用
- Mybatis分頁(yè)插件PageHelper的配置和簡(jiǎn)單使用方法(推薦)
- Mybatis分頁(yè)插件PageHelper的使用詳解
- MyBatis分頁(yè)插件PageHelper的使用與原理
相關(guān)文章
Java如何使用itext向PDF插入數(shù)據(jù)和圖片
最近項(xiàng)目中使用到Java實(shí)現(xiàn)寫入PDF文件,這篇文章主要給大家介紹了關(guān)于Java如何使用itext向PDF插入數(shù)據(jù)和圖片的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01springboot+chatgpt+chatUI Pro開(kāi)發(fā)智能聊天工具的實(shí)踐
本文主要介紹了springboot+chatgpt+chatUI Pro開(kāi)發(fā)智能聊天工具的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04解決Maven中的依賴導(dǎo)包問(wèn)題(組合技巧)
自從我開(kāi)始接觸了以spring為框架的項(xiàng)目學(xué)習(xí)后,這個(gè)maven導(dǎo)包老是出現(xiàn)問(wèn)題,每次在這個(gè)上面花費(fèi)好多時(shí)間,于是乎打算寫一個(gè)秘籍出來(lái),這篇文章主要介紹了解決Maven中的依賴導(dǎo)包問(wèn)題,需要的朋友可以參考下2023-11-11Java中Stringbuilder和正則表達(dá)式示例詳解
Java語(yǔ)言為字符串連接運(yùn)算符(+)提供特殊支持,并為其他對(duì)象轉(zhuǎn)換為字符串,字符串連接是通過(guò)StringBuilder(或StringBuffer)類及其append方法實(shí)現(xiàn)的,這篇文章主要給大家介紹了關(guān)于Java中Stringbuilder和正則表達(dá)式的相關(guān)資料,需要的朋友可以參考下2024-02-02詳談Enumeration接口和Iterator接口的區(qū)別
下面小編就為大家?guī)?lái)一篇詳談Enumeration接口和Iterator接口的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08java虛擬機(jī)之JVM調(diào)優(yōu)詳解
這篇文章主要介紹了java虛擬機(jī)之JVM調(diào)優(yōu)詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)Java虛擬機(jī)的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04