最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis-Plus支持GBase8s分頁查詢的實現(xiàn)示例

 更新時間:2023年01月09日 15:43:32   作者:熱心網(wǎng)友小紅  
本文主要介紹了使?Mybatis-Plus?支持?GBase8s?的分頁查詢,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

MyBatis-Plus (簡稱 MP)是一個 MyBatis 的增強(qiáng)工具,在 MyBatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡化開發(fā)、提高效率而生。在最新版 MP 中,已明確支持 南大通用數(shù)據(jù)庫 (GBase 8s)。但是在分頁查詢上,綁定參數(shù)順序不正確,需要一定調(diào)整。

使用的版本為:

mybatis-plus版本:3.5.1
使用 maven 管理依賴。

        <!--mybatis_plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>

實現(xiàn)方法

確認(rèn)攔截器類型,DbType選擇對應(yīng)枚舉值。

@Configuration
public class MyBatisPlusConfig {

    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        //添加分頁插件
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.GBASEDBT));
        return interceptor;
    }

}

查看GBase8s對應(yīng)枚舉值,可參考路徑 com.baomidou.mybatisplus.annotation.DbType

在這里插入圖片描述

改寫攔截器

可參考路徑 com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor ,隨版本可能變化,可 調(diào)試 步入 定位攔截器位置。

如下為需要修改的代碼段

    IDialect dialect = this.findIDialect(executor);
    Configuration configuration = ms.getConfiguration();
    DialectModel model = dialect.buildPaginationSql(buildSql, page.offset(), page.getSize());
    MPBoundSql mpBoundSql = PluginUtils.mpBoundSql(boundSql);
    List<ParameterMapping> mappings = mpBoundSql.parameterMappings();
    Map<String, Object> additionalParameter = mpBoundSql.additionalParameters();
    model.consumers(mappings, configuration, additionalParameter);
    mpBoundSql.sql(model.getDialectSql());
    mpBoundSql.parameterMappings(mappings);

找到本地依賴包位置, com.baomidou.mybatisplus.extension

在這里插入圖片描述

找到對應(yīng)目錄下,會發(fā)現(xiàn)maven下載了 jar包 、源碼、doc等相關(guān)內(nèi)容,我們需要反編譯 jar包內(nèi)的 PaginationInnerInterceptor

改寫源碼,建議備份一份原始版本

在這里插入圖片描述

復(fù)制出 mybatis-plus-extension-3.5.1.jar 包,解壓縮,并找到 PaginationInnerInterceptor,反編譯出來。

直接拖進(jìn)IDEA就可以反編譯了。

在這里插入圖片描述

在這里插入圖片描述

新建一個任意空工程,如圖所示,創(chuàng)建包路徑,類名全部與源碼一致,并復(fù)制 反編譯內(nèi)容到新創(chuàng)建的 PaginationInnerInterceptor 類內(nèi)。

在這里插入圖片描述

接下來,需要將所有校驗錯誤全部修正。

import相關(guān)錯誤,對應(yīng)導(dǎo)入jar即可。

在這里插入圖片描述

方法一,本地maven庫下找到相關(guān)jar包,一個一個導(dǎo)入。

在這里插入圖片描述

方法二,配置 maven下載,在 pom.xml中添加

        <!--mybatis_plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>

        <!-- lombok 依賴 -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.10</version>
        </dependency>

方法重寫相關(guān)問題,添加注解 @Override 。

在這里插入圖片描述

變量反編譯相關(guān)問題,反編譯會有一些小錯誤,如重復(fù)聲明,對應(yīng)修改即可;傳參null注明類型的相關(guān)錯誤,直接刪掉 如(Object)即可。

在這里插入圖片描述

修改為

在這里插入圖片描述

確定無校驗錯誤后,修改源碼,找到方法 beforeQuery,添加如下內(nèi)容在對應(yīng)位置。

    if(dbType.equals(DbType.GBASEDBT)){
        mappings.add(0,mappings.get(mappings.size()-1));
        mappings.add(0,mappings.get(mappings.size()-2));
        mappings.remove(mappings.size()-1);
        mappings.remove(mappings.size()-1);
    }

在這里插入圖片描述

編譯工程,并找到對應(yīng) class 文件位置。

在這里插入圖片描述

在這里插入圖片描述

使用壓縮程序直接打開本地maven庫下的 mybatis-plus-extension-3.5.1.jar ,找到對應(yīng)位置,直接替換 class

在這里插入圖片描述

打開項目工程,reload maven庫,直接運(yùn)行,測試通過

在這里插入圖片描述

到此這篇關(guān)于使 Mybatis-Plus 支持 GBase8s 的分頁查詢的文章就介紹到這了,更多相關(guān)Mybatis-Plus GBase8s分頁查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring bean的實例化和IOC依賴注入詳解

    Spring bean的實例化和IOC依賴注入詳解

    這篇文章主要介紹了Spring bean的實例化和IOC依賴注入詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • Maven dependencies與dependencyManagement的區(qū)別詳解

    Maven dependencies與dependencyManagement的區(qū)別詳解

    這篇文章主要介紹了Maven dependencies與dependencyManagement的區(qū)別詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • SpringBoot調(diào)用外部接口的幾種方式

    SpringBoot調(diào)用外部接口的幾種方式

    SpringBoot應(yīng)用中,調(diào)用外部接口是微服務(wù)架構(gòu)常見需求,本文主要介紹了SpringBoot調(diào)用外部接口的幾種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • Java通過httpclient比較重定向和請求轉(zhuǎn)發(fā)

    Java通過httpclient比較重定向和請求轉(zhuǎn)發(fā)

    這篇文章主要介紹了Java通過httpclient比較重定向和請求轉(zhuǎn)發(fā),HttpClient?4.x?版本,get請求方法會自動進(jìn)行重定向,而post請求方法不會自動進(jìn)行重定向,需要的朋友可以參考下
    2023-04-04
  • SpringMVC @RequestMapping注解應(yīng)用方法示例講解

    SpringMVC @RequestMapping注解應(yīng)用方法示例講解

    通過@RequestMapping注解可以定義不同的處理器映射規(guī)則,下面這篇文章主要給大家介紹了關(guān)于SpringMVC中@RequestMapping注解用法的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Spring Boot 配置隨機(jī)數(shù)的技巧代碼詳解

    Spring Boot 配置隨機(jī)數(shù)的技巧代碼詳解

    這篇文章主要介紹了Spring Boot 配置隨機(jī)數(shù)技巧,spring boot 支持在系統(tǒng)加載的時候配置隨機(jī)數(shù),具體實例代碼大家參考下本文
    2018-05-05
  • Nacos配置中心的配置文件的匹配規(guī)則及說明

    Nacos配置中心的配置文件的匹配規(guī)則及說明

    這篇文章主要介紹了Nacos配置中心的配置文件的匹配規(guī)則及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java二叉搜索樹基礎(chǔ)原理與實現(xiàn)方法詳解

    Java二叉搜索樹基礎(chǔ)原理與實現(xiàn)方法詳解

    這篇文章主要介紹了Java二叉搜索樹基礎(chǔ)原理與實現(xiàn)方法,結(jié)合圖文與實例形式詳細(xì)分析了Java二叉搜索樹的基本概念、原理、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下
    2020-03-03
  • spring 和 spring boot 中的屬性配置方式

    spring 和 spring boot 中的屬性配置方式

    這篇文章主要介紹了spring 和 spring boot 中的屬性配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring的Bean容器介紹

    Spring的Bean容器介紹

    今天小編就為大家分享一篇關(guān)于Spring的Bean容器介紹,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評論

垦利县| 仁寿县| 吉隆县| 纳雍县| 乐平市| 梁河县| 南涧| 桦南县| 九台市| 松原市| 肥西县| 方正县| 阿拉善盟| 三河市| 武清区| 黔西县| 昭通市| 米易县| 大港区| 醴陵市| 宁阳县| 汾阳市| 文山县| 时尚| 广饶县| 长宁县| 道真| 商河县| 丰镇市| 长垣县| 龙门县| 都安| 南岸区| 谢通门县| 银川市| 图们市| 西畴县| 文昌市| 洪江市| 南乐县| 喀喇沁旗|