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

Springboot3整合Mybatis-plus3.5.3報錯問題解決

 更新時間:2023年11月06日 09:45:36   作者:LeoToJavaer  
在日常學(xué)習springboot3相關(guān)的代碼時,在使用 SpringBoot3 整合 MyBatisplus 時出現(xiàn)了一些問題,花了不少時間處理,這篇文章主要介紹了Springboot3整合Mybatis-plus3.5.3報錯問題解決,需要的朋友可以參考下

1.前言背景

最近在學(xué)習SpringBoot3相關(guān)的的代碼,開發(fā)過程中遇到了一些小坑,不過很快都解決了。然后就用 SpringBoot3 版本寫了幾個小 demo,比如 Web 開發(fā)、連接 數(shù)據(jù)庫、使用 JdbcTemplate 操作數(shù)據(jù)庫,編碼和測試都非常順利,雖然是從 SpringBoot 2.x 版本升級到SpringBoot3,但是沒有感覺到太多差別。

不過,在使用 SpringBoot3 整合 MyBatisplus 時出現(xiàn)了一些問題,花了不少時間處理。

2.開發(fā)環(huán)境

因為這邊想學(xué)習一下關(guān)于SprigBoot3的一些特性,我這里是從原來的SpringBoot2.3.6升級到了SpringBoot3.0。

使用的版本如下所示。

Spring Boot 版本配置

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.3</version>
</parent>

MyBatis 版本配置

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

3.問題出現(xiàn)

當一切都配置完成之后,啟動項目之后,直接報錯,這里直接把報錯相關(guān)的貼出來。

當然,異常信息挺多,比如無法創(chuàng)建 Bean 的異常等等,不過上面的幾個異常并不是問題主因。這里我直接定位到最后的異常上,異常信息是:

Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required

于是我們跟入代碼發(fā)生異常的地方。

問題原因也很明顯,sqlSessionTemplate 對象是空的,所以這邊就直接報錯了。

4.問題排查

當然,由于把 SpringBoot 版本升級到 3 了,所以會覺得有很大的可能是版本升級導(dǎo)致了問題。

不過還是想自己查查問題,就依次檢查了代碼、數(shù)據(jù)庫配置、MyBatisPlus 配置,都沒有發(fā)現(xiàn)哪里寫錯了,接著就沒頭緒了。之后就通過源碼Debug了一下,順著啟動流程走了一下,在SqlSessionFactoryBean這里發(fā)現(xiàn)了問題,NestedIOException這個類爆紅了,正常情況下肯定是不會報錯的。

說明肯定是因為我們dataSource數(shù)據(jù)源的問題,于是我又重新檢查了一下代碼。最終在啟動類發(fā)現(xiàn)了問題。

下面我貼出截圖

image-20231104003243998

在SpringBoot應(yīng)用程序啟動類上加上(exclude = {DataSourceAutoConfiguration.class})會排除數(shù)據(jù)源的自動配置,這意味著我們需要手動配置數(shù)據(jù)源和事務(wù)管理器等依賴項。

如果使用MyBatis等持久層框架進行數(shù)據(jù)庫操作,通常需要進行以下兩個步驟:

  • 配置數(shù)據(jù)源:在配置文件中設(shè)置數(shù)據(jù)庫連接信息,例如連接URL、用戶名、密碼等。
  • 配置SqlSessionFactory和SqlSessionTemplate:這兩個對象是MyBatis框架中用于操作數(shù)據(jù)庫的核心組件。SqlSessionFactory用于創(chuàng)建SqlSession實例,SqlSessionTemplate是對SqlSession的一種封裝,提供了更加簡單易用的API接口。

如果SqlSessionTemplate對象為空,可能有以下幾種原因:

  • 沒有正確配置數(shù)據(jù)源:如果我們沒有正確配置數(shù)據(jù)源,SqlSessionFactory和SqlSessionTemplate就無法正常創(chuàng)建。需要確保配置文件中的數(shù)據(jù)庫連接信息正確,并且已經(jīng)將數(shù)據(jù)源和事務(wù)管理器納入到Spring容器中。
  • 沒有正確配置SqlSessionFactory和SqlSessionTemplate:即使我們已經(jīng)正確配置了數(shù)據(jù)源和事務(wù)管理器,但是如果沒有正確配置SqlSessionFactory和SqlSessionTemplate,也會導(dǎo)致SqlSessionTemplate對象為空。需要檢查一下SqlSessionFactory是否已經(jīng)成功創(chuàng)建,并且使用了正確的MyBatis配置文件。
  • 沒有將SqlSessionTemplate納入到Spring容器中:在Spring Boot應(yīng)用程序中,我們需要將SqlSessionTemplate對象納入到Spring容器中,這樣才能在其他組件中自動注入SqlSessionTemplate對象。需要確保已經(jīng)在配置文件中正確配置了MyBatis相關(guān)的Bean,并且使用了正確的注解或XML配置方式來將SqlSessionTemplate納入到Spring容器中。

需要注意的是,這里所說的原因并不全面,具體問題需要根據(jù)實際情況來進行排查分析。

我這里把這個注釋掉之后,項目就正常啟動了,大家可以參考一下。

5.總結(jié)

到此這篇關(guān)于Springboot3整合Mybatis-plus3.5.3報錯的文章就介紹到這了,更多相關(guān)Springboot整合Mybatis-plus報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java自定義事件監(jiān)聽器的實現(xiàn)方式和應(yīng)用場景

    Java自定義事件監(jiān)聽器的實現(xiàn)方式和應(yīng)用場景

    自定義事件監(jiān)聽器是一種強大的編程模式,它主要實現(xiàn)了模塊間的解耦、增強了應(yīng)用的擴展性和可維護性,本文小編給大家介紹了Java自定義事件監(jiān)聽器的實現(xiàn)方式和應(yīng)用場景,需要的朋友可以參考下
    2025-10-10
  • Kotlin 基礎(chǔ)語法詳細介紹

    Kotlin 基礎(chǔ)語法詳細介紹

    這篇文章主要介紹了Kotlin 基礎(chǔ)語法詳細介紹的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 使用Java實現(xiàn)文件流轉(zhuǎn)base64

    使用Java實現(xiàn)文件流轉(zhuǎn)base64

    這篇文章主要為大家詳細介紹了如何使用Java實現(xiàn)文件流轉(zhuǎn)base64效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習一下
    2024-03-03
  • Spring Boot2.0中SpringWebContext找不到無法使用的解決方法

    Spring Boot2.0中SpringWebContext找不到無法使用的解決方法

    這篇文章主要給大家介紹了關(guān)于Spring Boot2.0中SpringWebContext找不到無法使用的解決方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習學(xué)習吧
    2018-12-12
  • java操作mongodb基礎(chǔ)(查詢 排序 輸出list)

    java操作mongodb基礎(chǔ)(查詢 排序 輸出list)

    java操作mongodb基礎(chǔ)學(xué)習查詢,排序,limit,輸出為list實例,大家參考使用吧
    2013-12-12
  • Java實現(xiàn)兩個日期相減等于天數(shù)

    Java實現(xiàn)兩個日期相減等于天數(shù)

    這篇文章主要介紹了Java兩個日期相減等于天數(shù)的實現(xiàn)方式,本文通過兩種方式結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • SpringBoot中?Jackson?日期的時區(qū)和日期格式問題解決

    SpringBoot中?Jackson?日期的時區(qū)和日期格式問題解決

    因為最近項目需要國際化,需要能夠支持多種國際化語言,目前需要支持三種(法語、英語、簡體中文),這篇文章主要介紹了SpringBoot中?Jackson?日期的時區(qū)和日期格式問題,需要的朋友可以參考下
    2022-12-12
  • Mybatis詳解在注解sql時報錯的解決方法

    Mybatis詳解在注解sql時報錯的解決方法

    MyBatis-Plus 是一個 Mybatis 增強版工具,在 MyBatis 上擴充了其他功能沒有改變其基本功能,為了簡化開發(fā)提交效率而存在,本篇文章帶你看看在注解sql時所報出的錯誤解決
    2022-03-03
  • 本地緩存在Java中的實現(xiàn)過程

    本地緩存在Java中的實現(xiàn)過程

    這篇文章主要介紹了本地緩存在Java中的實現(xiàn)過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • 如何解決java.lang.IllegalStateException: Target host is null的問題

    如何解決java.lang.IllegalStateException: Target host&n

    文章描述了通過MocoRunner模擬接口,并使用properties文件和ResourceBundle讀取配置文件進行g(shù)et請求的過程,在執(zhí)行過程中遇到了目標主機為空的錯誤,通過檢查和修正url拼接問題解決了該錯誤
    2024-12-12

最新評論

台南市| 榆树市| 集贤县| 格尔木市| 长兴县| 广安市| 吴堡县| 黎城县| 涞源县| 金山区| 全南县| 秭归县| 五华县| 清丰县| 涪陵区| 景宁| 扬中市| 武鸣县| 邓州市| 桦甸市| 昌黎县| 清镇市| 怀宁县| 共和县| 淳化县| 永城市| 房产| 芦山县| 奈曼旗| 两当县| 万山特区| 博白县| 大庆市| 成都市| 闻喜县| 大姚县| 江陵县| 裕民县| 盘锦市| 沅陵县| 永胜县|