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

SpringBoot同時(shí)集成Mybatis和Mybatis-plus框架

 更新時(shí)間:2024年12月06日 11:51:02   作者:zuihongyan518  
在實(shí)際開發(fā)中,項(xiàng)目里面一般都是Mybatis和Mybatis-Plus公用,但是公用有版本不兼容的問(wèn)題,本文主要介紹了Spring Boot項(xiàng)目中同時(shí)集成Mybatis和Mybatis-plus,具有一檔的參考價(jià)值,感興趣的可以了解一下

1. 背景

Mybatis-plus可以生成CRUD,減少開發(fā)中SQL編寫量,但是某些情況下我們需要多表關(guān)聯(lián)查詢,這時(shí)候Mybatis可以手寫SQL的優(yōu)勢(shì)就體現(xiàn)出來(lái)了,在實(shí)際開發(fā)中,項(xiàng)目里面一般都是Mybatis和Mybatis-Plus公用,但是公用有版本不兼容的問(wèn)題。下面這篇文章主要介紹如何在項(xiàng)目中同時(shí)集成Mybatis和Mybatis-plus。

2. 前期準(zhǔn)備

引入相關(guān)的jar包

<!--  mybatis依賴    -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.2</version>
</dependency>

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.2</version>
 </dependency>

<!--引入autoconfigure-->
<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-autoconfigure</artifactId>
	<version>2.1.4</version>
</dependency>

3. 不兼容問(wèn)題

 如果是單純的引入完兩個(gè)jar包,就開始使用這樣是會(huì)拋出下面的異常

 這個(gè)異常也是常見(jiàn)的,不少后端開發(fā)可能都遇到過(guò),綁定異常,意思是識(shí)別不了對(duì)應(yīng)的mapper.xml

有人說(shuō)是版本不兼容問(wèn)題,我把Mybatis(2.1.3)和Mybatis-plus(3.3.0)替換成他們說(shuō)的版本依然無(wú)解。單單只是替換版本是解決不了的

如果你最初項(xiàng)目中是已經(jīng)集成了Mybatis或者M(jìn)ybatis-plus;先集成Mybatis的項(xiàng)目再集成Mybatis-plus,這個(gè)時(shí)候application.yml配置文件需要做出修改,即將原 mybatis 改成 mybatis-plus即可。

原Mybatis配置

mybatis:
  type-aliases-package: com.xxxx.shortchain.entity
  mapper-locations: classpath*:mappers/**/*.xml
  configuration:
      log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  map-underscore-to-camel-case: true

改成Mybatis-plus配置

mybatis-plus:
  type-aliases-package: com.xxxx.shortchain.entity
  mapper-locations: classpath*:/mappers/*.xml,classpath*:/mappers/**/*.xml
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    mapUnderscoreToCamelCase: true  #自動(dòng)轉(zhuǎn)駝峰 true開啟

根據(jù)自己xml的實(shí)際路徑修改。

4. jar包沖突

在集成Mybatis和Mybatis-plus時(shí),也可能會(huì)遇到j(luò)ar包沖突的情況,這時(shí)候我們可以排除一些jar包來(lái)解決沖突。

4.1 Mybatis中

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
            <!--原Mybatis中需排除下面2個(gè)依賴-->
            <exclusions>
                <exclusion>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis-spring</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

4.2 分頁(yè)插件pageHelper中

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.3</version>
            <!--需排除下面包-->
            <exclusions>
                <exclusion>
                    <groupId>org.mybatis.spring.boot</groupId>
                    <artifactId>mybatis-spring-boot-starter</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

至此,SpringBoot同時(shí)集成Mybatis和Mybatis-plus就已經(jīng)完成了??梢哉?dòng)項(xiàng)目進(jìn)行測(cè)試了

        DateTime dateTime = DateUtil.beginOfDay(new Date());
        QueryWrapper<ShortChain> queryWrapper = new QueryWrapper<>();
        LambdaQueryWrapper<ShortChain> lambda = queryWrapper.lambda();
        lambda.ge(ShortChain::getExpireDate, dateTime).eq(ShortChain::getDeleted, 0);
        List<ShortChain> shortChains = shortChainMapper.selectList(queryWrapper);

 使用Mybatis-plus也能正常查詢數(shù)據(jù)行

到此這篇關(guān)于SpringBoot同時(shí)集成Mybatis和Mybatis-plus框架的文章就介紹到這了,更多相關(guān)SpringBoot同時(shí)集成Mybatis和Mybatis-plus內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java Reactor反應(yīng)器模式使用方法詳解

    Java Reactor反應(yīng)器模式使用方法詳解

    這篇文章主要介紹了Java Reactor反應(yīng)器模式使用方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Java在Word中插入上標(biāo)和下標(biāo)的實(shí)現(xiàn)方法

    Java在Word中插入上標(biāo)和下標(biāo)的實(shí)現(xiàn)方法

    在某些情況下,你可能需要在Microsoft?Word中插入上標(biāo)和下標(biāo)。例如,當(dāng)你正在創(chuàng)建一個(gè)涉及科學(xué)公式的學(xué)術(shù)文件時(shí),在這篇文章中,你將學(xué)習(xí)如何使用Spire.Doc?for?Java庫(kù)在Word文檔中插入上標(biāo)和下標(biāo),需要的朋友可以參考下
    2022-10-10
  • Java?Bluetooth?藍(lán)牙通訊?BlueCove?掃描附近的藍(lán)牙設(shè)備(測(cè)試代碼)

    Java?Bluetooth?藍(lán)牙通訊?BlueCove?掃描附近的藍(lán)牙設(shè)備(測(cè)試代碼)

    BlueCove是一個(gè)開源的藍(lán)牙協(xié)議棧實(shí)現(xiàn),旨在為Java開發(fā)者提供一個(gè)全面的、易于使用的API,從而在應(yīng)用程序中實(shí)現(xiàn)藍(lán)牙功能,該項(xiàng)目支持多種操作系統(tǒng),這篇文章主要介紹了Java?Bluetooth?藍(lán)牙通訊?BlueCove?掃描附近的藍(lán)牙設(shè)備,需要的朋友可以參考下
    2025-01-01
  • 最新評(píng)論

    左权县| 称多县| 绥化市| 潞城市| 融水| 海城市| 普洱| 旬阳县| 呈贡县| 宁明县| 克拉玛依市| 阿坝县| 天等县| 遂宁市| 吉林市| 汝城县| 阳高县| 崇仁县| 成都市| 竹山县| 札达县| 华阴市| 定日县| 白朗县| 南京市| 龙井市| 大冶市| 连南| 洮南市| 通化县| 罗江县| 黎城县| 安丘市| 和田市| 衡阳市| 开化县| 辛集市| 黑水县| 古蔺县| 仁怀市| 遵义市|