Mybatis框架如何使用分頁插件呢?

2020-09-19 dirft

分頁插件使用的方式

  • 修改 pom 文件,添加分頁 jar 包依賴
  • 修改 mybatis.xml 文件
  • UserDao 接口,UserMapper.xml 添加對應方法與實現 sql
  • 對應 UserService 接口添加分頁查詢方法
  • 測試分頁效果

案例實操

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

<dependency> <groupId>com.github.pagehelper</groupId> ​ <artifactId>pagehelper</artifactId> ​ <version>4.1.0</version> ​</dependency>

2.修改 mybatis.xml 文件

<plugins> ​    <!-- com.github.pagehelper 為 PageHelper 類所在包名 --> ​    <plugin interceptor=&34;> ​        <property name=&34; value=&34; /> ​        <!-- 該參數默認為 false --> ​        <!-- 設置為 true 時,會將 RowBounds 第一個參數 offset 當成 pageNum 頁碼使用 ​        --> ​        <!-- 和 startPage 中的 pageNum 效果一樣 --> ​        <property name=&34; value=&34; /> ​        <!-- 該參數默認為 false --> ​        <!-- 設置為 true 時,使用 RowBounds 分頁會進行 count 查詢 --> ​        <property name=&34; value=&34; /> ​        <!-- 設置為 true 時,如果 pageSize=0 或者 RowBounds.limit = 0 就會查詢出全 ​        部的結果 --> ​        <!-- (相當於沒有執行分頁查詢,但是返回結果仍然是 Page 類型) --> ​        <property name=&34; value=&34; /> ​        <!-- 3.3.0 版本可用 - 分頁參數合理化,默認 false 禁用 --> ​        <!-- 啟用合理化時,如果 pageNum<1 會查詢第一頁,如果 pageNum>pages 會查詢 ​        最後一頁 --> ​        <!-- 禁用合理化時,如果 pageNum<1 或 pageNum>pages 會返回空數據 --> ​        <property name=&34; value=&34; /> ​        <!-- 3.5.0 版本可用 - 為了支持 startPage(Object params)方法 --> ​        <!-- 增加了一個`params`參數來配置參數映射,用於從 Map 或 ServletRequest ​        中取值 --> ​        <!-- 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射 ​        的用默認值 --> ​        <property name=&34; ​        value=&34; /> ​    </plugin> ​</plugins>


3.UserDao 接口,UserMapper.xml 添加對應方法與實現 sql

UserDao 接口:

public interface UserDao { ​public User queryUserById(int id); ​ public List<User> queryUsers(); ​}

UserMapper.xml

<?xml version=&34; encoding=&34; ?> ​<!DOCTYPE mapper ​PUBLIC &34; ​&34;> ​<mapper namespace=&34;> ​    <select id=&34; parameterType=&34; resultType=&34;> ​   select id,userName,userPwd from user where id=34;queryUsers&34;user&34;user:&34;user:&34;user:"+user); ​   }  ​}


結果:


擴展

分頁插件壓縮版

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

相關焦點

  • mybatis 分頁插件 mybatis-plus-page
    mybatis-plus-page 詳細介紹mybatis分頁插件MicroPageInterceptor 特點:1, 支持mysql和oracle分頁2, 不必在xml編寫統計count的sql3, 使用RowBounds子類PageInfo
  • MyBatis Generator輕鬆實現MYSQL分頁插件
    但是唯一讓人不爽的是,生成的代碼中的資料庫查詢沒有分頁功能。本文介紹如何讓MyBatis Generator生成的代碼具有分頁功能。在實現分頁之前,首先簡單介紹MyBatis Generator如何使用。
  • 五大框架之MyBatis生成工具的使用
    五大框架之MyBatis面試經常被問到的問題》,裡面提到一句mybatis可以用工具生成,有朋友問我是什麼工具,今天給大家介紹一下它的使用方法。簡介mybatis-generator-gui-extension是一個為MybatisGenerator編寫的圖形化界面,為實體/Example/Mapper提供了豐富的擴展。
  • springBoot中兩種配置mybatis分頁插件方式
    使用javaBean配置方式在javaBean的方式中,我們使用SqlSessionFactoryBean類的setPlugins來加載plugins,具體的配置代碼如下: @Bean public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource, PageHelper
  • 如何在springboot中使用PageHelper分頁插件
    PageHelper簡介PageHelper是Github上開源的MyBatis分頁插件,使用起來非常的簡單,方便,並且支持任何複雜的單表、多表分頁。Github網址:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md。感興趣的可以自己到官網查看。
  • Mybatis-Plus來學習一下!代碼生成、分頁插件?
    開始前的準備1.我們需要創建一個springboot項目,當然mybatis-plus並不僅限於springboot項目,其他項目也可以正常使用。添加如下依賴:2.我們可以在IDEA中添加如下兩個插件方便我們後續開發!lombok以及MybatisX。
  • SpringBoot配置數據源及MyBatis分頁的要點
    背景SpringBoot 整合 MyBatisPlus 分頁時,如果分頁插件配置不正確MyBatis 的分頁有兩種,一種是用 MyBatisPlus 的分頁,另一種是使用 PageHelper 分頁插件。無論哪一種,都需要為數據源設置分頁插件配置。
  • 一怒之下我自己寫了個PageHelper分頁插件
    然而如果我們對MyBatis的工作原理不是很清楚的話,最好不要輕易使用插件,否則的話如果因為使用插件導致了底層工作邏輯被改變,很可能會出現很多意料之外的問題。本文主要會介紹MyBatis插件的使用及其實現原理,相信讀完本文,我們也可以寫出自己的PageHelper分頁插件了。
  • 終於懂了Mybatis分頁原理,可以和面試官說說了
    mybatis分頁實現 Mybatis提供了邏輯分頁使用類RowBounds實現分頁,先把數據記錄全部查詢出來,然在再根據offset和limit截斷記錄返回(數據量大的時候會造成內存溢出>Mybatis分頁插件PageHelper實現 1.pom.xml添加依賴 <!
  • 徹底搞懂MyBatis插件原理及PageHelper原理
    MyBatis插件實現原理—目錄前言MyBatis中插件是如何實現的MyBatis插件的使用MyBatis插件實現原理插件的加載插件如何進行攔截攔截Executor對象其他對象插件解析插件執行流程假如一個對象被代理很多次PageHelper插件的使用PageHelper插件原理為什麼PageHelper只對startPage後的第一條select語句有效不通過插件能否改變
  • 徹底搞懂MyBatis插件+PageHelper原理
    然而如果我們對MyBatis的工作原理不是很清楚的話,最好不要輕易使用插件,否則的話如果因為使用插件導致了底層工作邏輯被改變,很可能會出現很多意料之外的問題。本文主要會介紹MyBatis插件的使用及其實現原理,相信讀完本文,我們也可以寫出自己的PageHelper分頁插件了。
  • 使用mybatis-plus必須掌握的基本技能,自定義SQL和分頁查詢
    3 分頁查詢MyBatis分頁提供的是邏輯分頁,每次將所有數據查詢出來,存儲到內存中,然後根據請求的頁碼,進行逐頁返回。如果表的數據量很大,無疑是一種災難。下面介紹MyBatisPlus物理分頁。添加分頁插件。3.2 測試效果先創建一個Page對象,分別定義當前頁和每頁數量,調用userMapper的selectPage方法,傳入定義好的page對象,獲取分頁查詢結果。返回的是Ipage對象,給到user泛型。可以分別通過getPage和getTotal獲取到總頁數和總記錄數。測試代碼及測試結果如下。
  • mybatis-plus思維導圖,讓mybatis-plus不再難懂
    MyBatis 可以使用簡單的 XML 或註解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成資料庫中的記錄。但mybatis有個讓我比較頭疼的一個問題是sql工作量很大,尤其是欄位多的時候。
  • Mybatis第四講 插件開發
    3.1.5使用插件完成簡單分頁重構 Interceptor 方法運行結果 public Object intercept(Invocation invocation) throws Throwable { // 獲得攔截對象 StatementHandler sh = (StatementHandler
  • 08-Mybatis Plus分頁及自定義SQL語句
    .typeAliasesPackage=com.shenmazong.serverpagehelper.mappermybatis.mapperLocations=classpath:/mapper/*.xmllogging.level.com.shenmazong.serverpagehelper.mapper=debugmybatis-plus.configuration.map-underscore-to-camel-case
  • spring boot 中使用mybatis自動生成mapper和dao插件(下)
    在上一篇中《spring boot 中使用mybatis自動生成mapper和dao插件(上)》我們講解了怎麼在pom.xml中添加插件以及添加插件需要的配置文件步驟:1:在pom.xml中添加mybatis-generator插件2:添加插件需要的配置文件
  • 為什麼要使用新一代ORM框架sqltoy-orm
    sqltoy-orm是基於java的最綜合最理想的orm框架,主要特點:1、是真正超越hibernate/jpa、jdbcTemplate、mybatis/plus、jooq之和的orm框架,規避了上述框架的走極端的缺點,發揮他們的優勢,即:普通的crud就應該類似於hibernate
  • 從零開始手寫 mybatis(二)mybatis interceptor 插件機制詳解
    mybatis 的插件機制是 mybatis 除卻動態代理之外的第二大靈魂。下面我們一起來體驗一下這有趣的靈魂帶來的痛苦與快樂~插件的作用在實際開發過程中,我們經常使用的Mybaits插件就是分頁插件了,通過分頁插件我們可以在不用寫count語句和limit的情況下就可以獲取分頁後的數據,給我們開發帶來很大的便利。
  • Mybatis 分頁插件 PageHelper 5.0.3 發布
    Mybatis分頁插件 - PageHelper 5.0.2 發布了。如果你也在用Mybatis,建議嘗試該分頁插件,這一定是最方便使用的分頁插件。
  • PageHelper - 最方便的 MyBatis 分頁插件
    PageHelper,這個號稱最方便的 MyBatis 的開源分頁插件,值得一試。,主要通過配置攔截器插件。-- 使用下面的方式配置參數,後面會有所有的參數介紹 --> <property name=&34; value=&34;/> </plugin></plugins>也可以在 Spring 的配置文件中,使用屬性配置方式配置插件:&