分頁插件使用的方式

## 分頁插件使用的方式

- 修改 pom 文件瘾敢,添加分頁 jar 包依賴?

- 修改 mybatis.xml 文件

- UserDao 接口救赐,UserMapper.xml 添加對應方法與實現(xiàn) sql

- 對應 UserService 接口添加分頁查詢方法

- 測試分頁效果


## 案例實操

### 1.修改 pom 文件,添加分頁 jar 包依賴

~~~ xml

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper</artifactId>

<version>4.1.0</version>

</dependency>

~~~

### 2.修改 mybatis.xml 文件

~~~ xml

<plugins>

? ? <!-- com.github.pagehelper 為 PageHelper 類所在包名 -->

? ? <plugin interceptor="com.github.pagehelper.PageHelper">

? ? ? ? <property name="dialect" value="mysql" />

? ? ? ? <!-- 該參數(shù)默認為 false -->

? ? ? ? <!-- 設置為 true 時切油,會將 RowBounds 第一個參數(shù) offset 當成 pageNum 頁碼使用

? ? ? ? -->

? ? ? ? <!-- 和 startPage 中的 pageNum 效果一樣 -->

? ? ? ? <property name="offsetAsPageNum" value="true" />

? ? ? ? <!-- 該參數(shù)默認為 false -->

? ? ? ? <!-- 設置為 true 時蝙斜,使用 RowBounds 分頁會進行 count 查詢 -->

? ? ? ? <property name="rowBoundsWithCount" value="true" />

? ? ? ? <!-- 設置為 true 時,如果 pageSize=0 或者 RowBounds.limit = 0 就會查詢出全

? ? ? ? 部的結(jié)果 -->

? ? ? ? <!-- (相當于沒有執(zhí)行分頁查詢澎胡,但是返回結(jié)果仍然是 Page 類型) -->

? ? ? ? <property name="pageSizeZero" value="true" />

? ? ? ? <!-- 3.3.0 版本可用 - 分頁參數(shù)合理化孕荠,默認 false 禁用 -->

? ? ? ? <!-- 啟用合理化時,如果 pageNum<1 會查詢第一頁攻谁,如果 pageNum>pages 會查詢

? ? ? ? 最后一頁 -->

? ? ? ? <!-- 禁用合理化時稚伍,如果 pageNum<1 或 pageNum>pages 會返回空數(shù)據(jù) -->

? ? ? ? <property name="reasonable" value="true" />

? ? ? ? <!-- 3.5.0 版本可用 - 為了支持 startPage(Object params)方法 -->

? ? ? ? <!-- 增加了一個`params`參數(shù)來配置參數(shù)映射,用于從 Map 或 ServletRequest

? ? ? ? 中取值 -->

? ? ? ? <!-- 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射

? ? ? ? 的用默認值 -->

? ? ? ? <property name="params"

? ? ? ? value="pageNum=start;pageSize=limit;pageSizeZero=zero;reasonable=heli;count=cou

? ? ? ? ntsql" />

? ? </plugin>

</plugins>

~~~

### 3.UserDao 接口戚宦,UserMapper.xml 添加對應方法與實現(xiàn) sql

UserDao 接口:

~~~ java

public interface UserDao {

public User queryUserById(int id);

public List<User> queryUsers();

}

~~~

UserMapper.xml

~~~ xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.mage.dao.UserDao">

? ? <select id="queryUserById" parameterType="int" resultType="user">

? ? select id,userName,userPwd from user where id=#{id}?

? ? </select>

? ? <select id="queryUsers" resultType="user">

? ? select id,userName,userPwd from user?

? ? </select>

</mapper>

~~~

### 4.對應 UserService 接口添加分頁查詢方法

~~~ java

public interface UserService {

public User queryUserById();

? ? /**

? ? * 分頁方法定義

? ? * @param pageNum 當前頁號

? ? * @param pageSize 設置每頁顯示數(shù)量

? ? * @return

? ? */

public PageInfo<User> queryUsers(int pageNum,int pageSize);

}

~~~

UserServiceImpl 實現(xiàn)方法:

~~~ java

@Service

public class UserServiceImpl implements UserService{

? ? @Resource

? ? private UserDao userDao;

? ? public User queryUserById(){

? ? return userDao.queryUserById(7);?

? ? }

? ? @Override

? ? public PageInfo<User> queryUsers(int pageNum, int pageSize) {

? ? ? ? /**

? ? ? ? * PageHelper 類設置分頁頁號與每頁大小

? ? ? ? */

? ? ? ? PageHelper.startPage(pageNum, pageSize);

? ? ? ? List<User> list=userDao.queryUsers();

? ? ? ? PageInfo<User> pageInfo=new PageInfo<User>(list);

? ? ? ? return pageInfo;

? ? }

}

~~~

### 5.測試分頁效果

數(shù)據(jù)庫原始記錄

![](https://img-blog.csdnimg.cn/img_convert/6b3d6caa48dcd394156c72bce2211fd4.png)

測試

第一次 PageNum =1 pageSize=1

~~~ java

@Test

public void testQueryUsers() {

? ? PageInfo<User> pageInfo= userService.queryUsers(1, 1);

? ? ? ? for(User user:pageInfo.getList()){

? ? ? ? System.out.println("user:"+user);

? ? }?

}

~~~

結(jié)果:

![](https://img-blog.csdnimg.cn/img_convert/f5ebdae74c439b7621ee52645759989c.png)

第二次 pageNum=2 pageSize=1

~~~ java

@Test

public void testQueryUsers() {

? ? PageInfo<User> pageInfo= userService.queryUsers(2, 1);

? ? for(User user:pageInfo.getList()){

? ? System.out.println("user:"+user);

? ? }?

}

~~~

結(jié)果

![](https://img-blog.csdnimg.cn/img_convert/718a411014ad7ae2d8ca0c97d85cafce.png)

備注:分頁插件 如果傳入的頁碼 操作記錄總頁數(shù) 此時我們得到的是最后一頁的記錄

第三次測試 PageNum=3 pageSize=1

~~~ java

@Test

public void testQueryUsers() {

? ? PageInfo<User> pageInfo= userService.queryUsers(3, 1);

? ? for(User user:pageInfo.getList()){

? ? System.out.println("user:"+user);

需要視頻配套資料或其他資料+我們小姐姐V lezijie007(加好友暗號 -98 个曙,不備注不加)

? ? }?

}

~~~

結(jié)果:

![](https://img-blog.csdnimg.cn/img_convert/c920bf9940b5294d2bce6b746f726f0a.png)

## 擴展

### 分頁插件壓縮版

![](https://img-blog.csdnimg.cn/img_convert/1adea76ca4d01801b5775baf5c0269a9.png)

解壓即可使用,和之前配置一樣去配置好 config.xml受楼,再運行 run.bat 即可

![](https://img-blog.csdnimg.cn/img_convert/91924edb94bd9dcdbfc17ac311578584.png)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末垦搬,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子艳汽,更是在濱河造成了極大的恐慌猴贰,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件河狐,死亡現(xiàn)場離奇詭異米绕,居然都是意外死亡,警方通過查閱死者的電腦和手機馋艺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門栅干,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捐祠,你說我怎么就攤上這事碱鳞。” “怎么了雏赦?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵劫笙,是天一觀的道長。 經(jīng)常有香客問我星岗,道長填大,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任俏橘,我火速辦了婚禮允华,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘寥掐。我一直安慰自己靴寂,他們只是感情好,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布召耘。 她就那樣靜靜地躺著百炬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪污它。 梳的紋絲不亂的頭發(fā)上剖踊,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音衫贬,去河邊找鬼德澈。 笑死,一個胖子當著我的面吹牛固惯,可吹牛的內(nèi)容都是我干的梆造。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼葬毫,長吁一口氣:“原來是場噩夢啊……” “哼镇辉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起供常,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤摊聋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后栈暇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體麻裁,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年源祈,在試婚紗的時候發(fā)現(xiàn)自己被綠了煎源。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡香缺,死狀恐怖手销,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情图张,我是刑警寧澤锋拖,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布诈悍,位于F島的核電站,受9級特大地震影響兽埃,放射性物質(zhì)發(fā)生泄漏侥钳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一柄错、第九天 我趴在偏房一處隱蔽的房頂上張望舷夺。 院中可真熱鬧,春花似錦售貌、人聲如沸给猾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敢伸。三九已至,卻和暖如春毫捣,著一層夾襖步出監(jiān)牢的瞬間详拙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工蔓同, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留饶辙,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓斑粱,卻偏偏與公主長得像弃揽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子则北,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355