springboot將mybatis升級(jí)為mybatis-plus的實(shí)現(xiàn)
1. 整體描述
之前項(xiàng)目工程用的是mybatis,現(xiàn)在需要將其替換為mybatis-plus,mybatis-plus的mapper有很多自帶的查詢(xún)方法,用起來(lái)更加方便一些。
2. 具體步驟
2.1 更新pom引用
首先要將之前mybatis的依賴(lài)刪除,要不會(huì)有問(wèn)題。刪除之后在pom加入如下引用:
<!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.3.1</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency>
其中后面的starter版本和springboot的版本一致即可。
2.2 更新yml配置
和mybatis一樣,mybatis-plus也是需要配置一些參數(shù)的,比如mapper文件路徑,domain文件路徑之類(lèi)的,同樣先將之前mybatis的配置刪除,然后添加如下配置,參數(shù)可以根據(jù)自己項(xiàng)目情況進(jìn)行修改:注:其中包名根據(jù)自己項(xiàng)目修改。
mybatis-plus: # 搜索指定包別名 type-aliases-package: com.[XXX].project.**.domain # 配置mapper的掃描,找到所有的mapper.xml映射文件 mapper-locations: classpath*:mybatis/**/*Mapper.xml # 全局配置 global-config: # 主鍵類(lèi)型 0:"數(shù)據(jù)庫(kù)ID自增", 1:"用戶(hù)輸入ID",2:"全局唯一ID (數(shù)字類(lèi)型唯一ID)", 3:"全局唯一ID UUID"; id-type: 0 # 字段策略 0:"忽略判斷",1:"非 NULL 判斷"),2:"非空判斷" field-strategy: 2 # 駝峰下劃線(xiàn)轉(zhuǎn)換 db-column-underline: true # 刷新mapper 調(diào)試神器 refresh-mapper: true # 配置 configuration: # 駝峰式命名 map-underscore-to-camel-case: true # 全局映射器啟用緩存 cache-enabled: true # 指定 MyBatis 所用日志的具體實(shí)現(xiàn) log-impl: org.slf4j; # 配置默認(rèn)的執(zhí)行器 default-executor-type: reuse # 允許 JDBC 支持自動(dòng)生成主鍵 use-generated-keys: true
2.3 更新config配置
如果之前項(xiàng)目里有mybatis的config文件,@config的配置,需要?jiǎng)h除。這塊我沒(méi)在代碼里加config配置,就把之前的配置刪除就可以了。
2.4 BaseEntity修改
如果之前的項(xiàng)目里有使用BaseEntity,但是BaseEntity類(lèi)里的一些參數(shù)在數(shù)據(jù)庫(kù)里沒(méi)有,需要在這些參數(shù)上面添加一個(gè)注解,告訴mybatis-plus這些字段不需要去查數(shù)據(jù)庫(kù),具體如下:
/** * 搜索值 */ @TableField(exist = false) @JsonInclude(JsonInclude.Include.NON_NULL) private String searchValue;
還有其他的domain中如果也是不存在數(shù)據(jù)庫(kù)中不存在的參數(shù),建議也加上這個(gè)注解。
3. 程序啟動(dòng)
至此,修改就完成了,修改之后rebuild一下功能,我之前沒(méi)rebuild,就一直報(bào)錯(cuò),rebuild一下就好了。啟動(dòng)之后看到如下,就說(shuō)明mybatis-plus已經(jīng)成功引入并啟動(dòng)了:
4. 總結(jié)
mybatis-plus相比mybatis還有有很多方便之處的,還有就是從mybatis升級(jí)到mybatis-plus,之前的mapper代碼可以直接使用,是向下兼容的,在之后新創(chuàng)建的mapper的時(shí)候,可以用mybatis-plus的BaseMapper里面的自帶方法,這樣對(duì)我們來(lái)說(shuō)就少了很多麻煩,之前項(xiàng)目寫(xiě)完的那些mapper就不用改了。
到此這篇關(guān)于springboot將mybatis升級(jí)為mybatis-plus的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mybatis升級(jí)為mybatis-plus內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 升級(jí)springboot3.x踩坑記錄
- SpringBoot升級(jí)3.2報(bào)錯(cuò)Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String的解決方案
- SpringBoot版本升級(jí)容易遇到的一些問(wèn)題
- Springboot項(xiàng)目升級(jí)2.2.x升至2.7.x的示例代碼
- SpringBoot Maven升級(jí)自帶的jar包版本問(wèn)題
- springboot脫敏控件升級(jí)支持深度脫敏
- SpringBoot2.6.x升級(jí)后循環(huán)依賴(lài)及Swagger無(wú)法使用問(wèn)題
- SpringBoot3.3.0升級(jí)方案
相關(guān)文章
如何基于SpringMVC實(shí)現(xiàn)斷點(diǎn)續(xù)傳(HTTP)
這篇文章主要介紹了如何基于SpringMVC實(shí)現(xiàn)斷點(diǎn)續(xù)傳(HTTP),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01Java數(shù)據(jù)庫(kù)連接池的幾種配置方法(以MySQL數(shù)據(jù)庫(kù)為例)
這篇文章主要介紹了Java數(shù)據(jù)庫(kù)連接池的幾種配置方法(以MySQL數(shù)據(jù)庫(kù)為例) 的相關(guān)資料,需要的朋友可以參考下2016-07-07Java調(diào)用Docx4j庫(kù)玩轉(zhuǎn)Word文檔處理
在 Java 開(kāi)發(fā)里處理 Word 文檔時(shí),Docx4j 可是個(gè)超厲害的庫(kù),它能讓咱輕松創(chuàng)建,讀取,修改和轉(zhuǎn)換 Word 文檔,下面我們就來(lái)看看具體是如何操作的吧2025-02-02java web項(xiàng)目實(shí)現(xiàn)文件下載實(shí)例代碼
現(xiàn)在項(xiàng)目里面有個(gè)需求,需要把系統(tǒng)產(chǎn)生的日志文件給下載到本地 先獲取所有的日志文件列表,顯示到界面,選擇一個(gè)日志文件,把文件名傳到后臺(tái)2013-09-09Java基本語(yǔ)法之內(nèi)部類(lèi)示例詳解
本文帶大家認(rèn)識(shí)Java基本語(yǔ)法——內(nèi)部類(lèi),將一個(gè)類(lèi)定義放在另一類(lèi)的定義的內(nèi)部,這個(gè)就是內(nèi)部類(lèi),內(nèi)部類(lèi)允許將一些邏輯相關(guān)的類(lèi)組織在一起,并能夠控制位于內(nèi)部的類(lèi)的可視性,感興趣的可以了解一下2022-03-03java實(shí)現(xiàn)圖片轉(zhuǎn)base64字符串 java實(shí)現(xiàn)base64字符串轉(zhuǎn)圖片
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)圖片轉(zhuǎn)base64字符串,java實(shí)現(xiàn)base64字符串轉(zhuǎn)圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02升級(jí)springboot中spring框架的版本的實(shí)現(xiàn)方法
本文主要介紹了升級(jí)springboot中spring框架的版本的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08在java中使用SPI創(chuàng)建可擴(kuò)展的應(yīng)用程序操作
這篇文章主要介紹了在java中使用SPI創(chuàng)建可擴(kuò)展的應(yīng)用程序操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09Flutter驗(yàn)證碼輸入框的2種方法實(shí)現(xiàn)
本文主要介紹了Flutter驗(yàn)證碼輸入框的2種方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12