激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

香港云服务器
服務器之家 - 編程語言 - Java教程 - Spring集成PageHelper的簡單用法示例

Spring集成PageHelper的簡單用法示例

2021-05-25 12:26自在流云 Java教程

這篇文章主要介紹了Spring集成PageHelper的簡單用法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1、maven依賴,注意使用pagehelper時的版本必須與mybatis版本對應

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!-- 添加mybatis依賴 -->
    <dependency>
      <groupid>org.mybatis</groupid>
      <artifactid>mybatis</artifactid>
      <version>3.3.0</version>
    </dependency>
    <dependency>
      <groupid>org.mybatis</groupid>
      <artifactid>mybatis-spring</artifactid>
      <version>1.2.3</version>
    </dependency>
    <!-- pagehelper -->
    <dependency>
      <groupid>com.github.pagehelper</groupid>
      <artifactid>pagehelper</artifactid>
      <version>4.1.4</version>
    </dependency>

2、需要在mybatis的配置信息中使用pagehelper插件,mybatis-config.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?xml version="1.0" encoding="utf-8" ?>
<!doctype configuration
    public "-//mybatis.org//dtd config 3.0//en"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
 
<configuration>
  <plugins>
    <plugin interceptor="com.github.pagehelper.pagehelper">
      <!--指明數據庫 4.0.0以后不需要設置此屬性-->
      <property name="dialect" value="mysql"/>
      <!-- 該參數默認為false -->
      <!-- 設置為true時,會將rowbounds第一個參數offset當成pagenum頁碼使用 -->
      <!-- 和startpage中的pagenum效果一樣-->
      <property name="offsetaspagenum" value="true"/>
      <!-- 該參數默認為false -->
      <!-- 設置為true時,使用rowbounds分頁會進行count查詢 -->
      <property name="rowboundswithcount" value="true"/>
      <!-- 設置為true時,如果pagesize=0或者rowbounds.limit = 0就會查詢出全部的結果 -->
      <!-- (相當于沒有執行分頁查詢,但是返回結果仍然是page類型)-->
      <property name="pagesizezero" value="true"/>
      <!-- 3.3.0版本可用 - 分頁參數合理化,默認false禁用 -->
      <!-- 啟用合理化時,如果pagenum<1會查詢第一頁,如果pagenum>pages會查詢最后一頁 -->
      <!-- 禁用合理化時,如果pagenum<1或pagenum>pages會返回空數據 -->
      <property name="reasonable" value="true"/>
      <!-- 3.5.0版本可用 - 為了支持startpage(object params)方法 -->
      <!-- 增加了一個`params`參數來配置參數映射,用于從map或servletrequest中取值 -->
      <!-- 可以配置pagenum,pagesize,count,pagesizezero,reasonable,orderby,不配置映射的用默認值 -->
      <!-- 不理解該含義的前提下,不要隨便復制該配置 -->
      <property name="params" value="pagenum=start;pagesize=limit;"/>
      <!-- 支持通過mapper接口參數來傳遞分頁參數 -->
      <property name="supportmethodsarguments" value="true"/>
      <!-- always總是返回pageinfo類型,check檢查返回類型是否為pageinfo,none返回page -->
      <property name="returnpageinfo" value="check"/>
    </plugin>
  </plugins>
</configuration>

3、在配置spring配置文件中,配置mybatis的sqlsessionfactory時,需要把mybatis-config.xml添加到屬性中

?
1
2
3
4
5
6
7
8
9
<!-- sqlsessionfactory -->
  <bean id="sessionfactory" class="org.mybatis.spring.sqlsessionfactorybean">
    <!--設置數據源-->
    <property name="datasource" ref="datasource"></property>
    <!--設置映射文件-->
    <property name="mapperlocations" value="classpath:mybatis/sqlmap/mapper/*.xml"></property>
    <!--設置pagehelper-->
    <property name="configlocation" value="classpath:mybatis/mybatis-config.xml"></property>
  </bean>

4、使用mybatis的mapper接口進行查詢,在查詢時,需要使用pagehelper.startpage方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@test
  public void testselectall() {
    page<doctor> page = pagehelper.startpage(1, 3);
    //selectall查詢出的list即為上面定義的page
    doctormapper.selectall();
    //注意:
    //使用pagehelper.startpage只是針對接下來的一條查詢語句,
    //如果又查詢了一次數據,則還需要使用一次pagehelper.startpage
    logger.info("獲取所有doctor信息,獲得記錄數:{}", page.size());
    logger.info("獲取所有doctor信息,獲得記錄:{}", page);
    //使用pageinfo封裝
    pageinfo<doctor> info = new pageinfo<doctor>(page);
    logger.info("info.getpages:{}",info.getpages());
  }

5、page對象繼承了arraylist,因此在使用了pagehelper.startpage之后,page即為查詢到的數據,并且在page中還額外封裝了pagenum,pagesize等屬性,還可以使用pageinfo封裝page,pageinfo中有更多的分頁屬性,例如isfirstpage是否為首頁、islastpage是否為末尾、hasnextpage是否存在下一頁等。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/cksvsaaa/p/6036068.html

延伸 · 閱讀

精彩推薦
  • Java教程詳解PowerDesigner之CDM、PDM、SQL之間轉換

    詳解PowerDesigner之CDM、PDM、SQL之間轉換

    這篇文章主要介紹了詳解PowerDesigner之CDM、PDM、SQL之間轉換的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下...

    vtopqx8812021-01-21
  • Java教程詳解Java中native方法的使用

    詳解Java中native方法的使用

    native是與C++聯合開發的時候用的!使用native關鍵字說明這個方法是原生函數,也就是這個方法是用C/C++語言實現的,并且被編譯成了DLL,由java去調用。本文...

    咖啡味的茶7202020-09-16
  • Java教程Java函數式編程(二):集合的使用

    Java函數式編程(二):集合的使用

    這篇文章主要介紹了Java函數式編程(二):集合的使用,本文著重講解了遍歷列表的一些方法,需要的朋友可以參考下 ...

    deepinmind4922019-11-29
  • Java教程IDEA添加Java類注釋模版的方法

    IDEA添加Java類注釋模版的方法

    本篇文章主要介紹了IDEA添加Java類注釋模版的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    shengpli5142021-03-01
  • Java教程Ubuntu 安裝 JDK8 的兩種方法(總結)

    Ubuntu 安裝 JDK8 的兩種方法(總結)

    下面小編就為大家帶來一篇Ubuntu 安裝 JDK8 的兩種方法(總結)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    Java教程網7072020-11-10
  • Java教程基于IOC容器實現管理mybatis過程解析

    基于IOC容器實現管理mybatis過程解析

    這篇文章主要介紹了基于IOC容器實現管理mybatis過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可...

    赫拉克利特5052020-07-16
  • Java教程spring boot 日志配置詳解

    spring boot 日志配置詳解

    本篇文章主要介紹了spring boot 日志配置 ,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    大餅油條3282020-09-02
  • Java教程JAVA多線程之方法 JOIN詳解及實例代碼

    JAVA多線程之方法 JOIN詳解及實例代碼

    這篇文章主要介紹了JAVA多線程之方法 JOIN詳解及實例代碼的相關資料,需要的朋友可以參考下...

    java教程網3432020-08-11
907
主站蜘蛛池模板: 一级毛片免费高清 | 视频在线中文字幕 | 国产99精品视频 | 欧美亚洲综合网 | 免费a视频在线观看 | 精品国产91一区二区三区 | 欧美日韩精品不卡一区二区三区 | 精品黑人一区二区三区国语馆 | 蜜桃麻豆视频 | 午夜视频色 | 久久99国产精品久久99 | xxnxx中国18 | 国产精品69久久 | 麻豆视频观看 | 国产中文99视频在线观看 | 亚洲日本韩国精品 | 欧美一级黄色网 | 98色视频 | 本色视频aaaaaa一级网站 | 国产九九热视频 | 日日干天天摸 | 午夜爽爽爽男女免费观看hd | 国产免费乱淫av | 伊久在线| 国产免费一级 | 被啪羞羞视频在线观看 | 毛片免费在线视频 | 毛片大全免费看 | 国产亚洲欧美视频 | 欧美日韩免费一区二区三区 | 欧美日韩精品不卡一区二区三区 | 色啪综合| www.91sp| 婷婷一区二区三区 | 欧美成人免费香蕉 | 奇米影视8888狠狠狠狠 | 87成人免费看片 | 二级大黄大片高清在线视频 | 午夜精品成人 | 欧美日韩亚洲国产精品 | 成人福利在线看 |