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

MybatisPlus3.5.5與pagehelper?starter2.1.0沖突的問題解決

 更新時間:2024年10月11日 09:51:11   作者:酒醉的胡鐵  
在使用MybatisPlus?3.5.5與PageHelper?Starter?2.1.0時,由于引用了不同版本的jsqlparser庫(4.6與4.7),會導(dǎo)致運行時錯誤,解決方案涉及確認依賴版本,本文就來介紹一下,感興趣的同學可以下載學習

問題說明

MybatisPlus3.5.5與pagehelper starter2.1.0同時引用了jsqlparser4.6和4.7在idea中使用并不會報錯,打包之后用jar運行便會出現(xiàn)錯誤

在這里插入圖片描述

  • 如果以jsqlparser4.7版本為準,啟動項目都起不起來,原因是jsqlparser4.7版本中把版本4.6的一個類被干掉了
  • 如果以jsqlparser4.6版本為準,啟動可以成功,但是查詢會有問題

解決方案

首先確認兩個依賴的版本號為3.5.5 和 2.1.0

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>2.1.0</version>
    <exclusions>
    	<exclusion>
    		<groupid>com.github.jsqlparser</groupid>
    		<artifactId>jsqlparser</artifactId>
    	</exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.5</version>
    <exclusions>
    	<exclusion>
    		<groupid>com.github.jsqlparser</groupid>
    		<artifactId>jsqlparser</artifactId>
    	</exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>sqlparser4.5</artifactId>
    <version>6.1.0</version>
</dependency>

建立兩個類

import com.github.pagehelper.dialect.helper.MySqlDialect;
import com.github.pagehelper.parser.CountJSqlParser45;
import com.github.pagehelper.parser.CountSqlParser;
import com.github.pagehelper.parser.OrderByJSqlParser45;
import com.github.pagehelper.parser.OrderBySqlParser;
import com.github.pagehelper.util.ClassUtil;

import java.util.Properties;

/**
 * 解決Mybatis Plus與PageHelper之間的沖突
 * 覆蓋父類 {@link com.github.pagehelper.dialect.AbstractDialect} 中的setProperties方法,
 * 將CountJSqlParser45、OrderByJSqlParser45提供的兩個類來替換掉Default類
 *
 * @Author zsp
 * @Date 2024/7/9
 **/
public class LocalMySqlDialect extends MySqlDialect {

    @Override
    public void setProperties(Properties properties) {
        this.countSqlParser = ClassUtil.newInstance(properties.getProperty("countSqlParser"), CountSqlParser.class, properties, CountJSqlParser45::new);
        this.orderBySqlParser = ClassUtil.newInstance(properties.getProperty("orderBySqlParser"), OrderBySqlParser.class, properties, OrderByJSqlParser45::new);
    }
}
import com.github.pagehelper.page.PageAutoDialect;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;

/**
 * 在spring boot啟動完成后將LocalMySqlDialect注冊進pagehelper
 *
 * @Author zsp
 * @Date 2024/7/9
 **/
@Component
public class DialectInit implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        PageAutoDialect.registerDialectAlias("mysql", LocalMySqlDialect.class);
    }
}

原理

PageAutoDialect這個類是用來管理注冊方言的,它在MySql的方言中默認使用了com.github.pagehelper.dialect.helper.MySqlDialect類,而MySqlDialect類繼承自com.github.pagehelper.dialect.AbstractDialect類,而AbstractDialect默認實現(xiàn)了setProperties方法,我們覆蓋掉這個方法,使用官方提供的4.5兼容包,并重新注冊即可。

到此這篇關(guān)于MybatisPlus3.5.5與pagehelper starter2.1.0沖突的問題解決的文章就介紹到這了,更多相關(guān)MybatisPlus3.5.5與pagehelper starter2.1.0沖突內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java中下拉框select和單選按鈕的回顯操作

    java中下拉框select和單選按鈕的回顯操作

    這篇文章主要介紹了java中下拉框select和單選按鈕的回顯操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Java垃圾回收jconsole分析

    Java垃圾回收jconsole分析

    這篇文章主要為大家介紹了Java垃圾回收jconsole分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Java集合框架Collections原理及用法實例

    Java集合框架Collections原理及用法實例

    這篇文章主要介紹了Java集合框架Collections原理及用法實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Spring?Boot讀取配置文件內(nèi)容的3種方式(@Value、Environment和@ConfigurationProperties)

    Spring?Boot讀取配置文件內(nèi)容的3種方式(@Value、Environment和@ConfigurationP

    工作中經(jīng)常會有一些參數(shù)需要配置,同時在代碼里面需要用到,所有就需要配置類讀取,然后在使用的時候注入該類進行獲取相關(guān)參數(shù),下面這篇文章主要給大家介紹了關(guān)于Spring?Boot讀取配置文件內(nèi)容的3種方式,需要的朋友可以參考下
    2023-01-01
  • Java SimpleDateFormat線程安全問題原理詳解

    Java SimpleDateFormat線程安全問題原理詳解

    這篇文章主要介紹了Java SimpleDateFormat線程安全問題原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • JAVA實現(xiàn) springMVC方式的微信接入、實現(xiàn)消息自動回復(fù)實例

    JAVA實現(xiàn) springMVC方式的微信接入、實現(xiàn)消息自動回復(fù)實例

    本篇文章主要介紹了JAVA實現(xiàn) springMVC方式的微信接入、實現(xiàn)消息自動回復(fù),這里整理了詳細的代碼,有需要的小伙伴可以參考下。
    2016-12-12
  • java AOP原理以及實例用法總結(jié)

    java AOP原理以及實例用法總結(jié)

    在本篇文章里我們給大家整理了關(guān)于java AOP原理以及相關(guān)知識點總結(jié),正在學習的朋友們參考下。
    2019-05-05
  • Java通過Timer與TimerTask實現(xiàn)定時任務(wù)調(diào)度方式

    Java通過Timer與TimerTask實現(xiàn)定時任務(wù)調(diào)度方式

    本文介紹了如何在Java中使用`Timer`和`TimerTask`類來實現(xiàn)定時任務(wù)調(diào)度,`Timer`類用于創(chuàng)建計時器并安排任務(wù),而`TimerTask`類用于定義具體的任務(wù),文章詳細介紹了這兩個類的方法和使用示例,包括創(chuàng)建任務(wù)、安排任務(wù)、取消任務(wù)等操作,通過一個簡單的例子
    2024-12-12
  • java的java.security.egd源碼解讀

    java的java.security.egd源碼解讀

    這篇文章主要為大家介紹了java的java.security.egd源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 我賭你不清楚Spring中關(guān)于Null的這些事

    我賭你不清楚Spring中關(guān)于Null的這些事

    這篇文章主要介紹了我賭你不清楚Spring中關(guān)于Null的這些事,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06

最新評論

大名县| 霍林郭勒市| 通辽市| 封丘县| 娄烦县| 自贡市| 涿州市| 鄂伦春自治旗| 龙川县| 夏津县| 县级市| 文登市| 双柏县| 建昌县| 东源县| 沅陵县| 汾西县| 迁安市| 盐池县| 淅川县| 永靖县| 沈阳市| 图木舒克市| 体育| 万年县| 湛江市| 商城县| 桃园县| 志丹县| 安塞县| 嘉义市| 旌德县| 突泉县| 浪卡子县| 三门县| 隆回县| 任丘市| 金川县| 濉溪县| 古交市| 新泰市|