SpringBoot3.2.2整合MyBatis Plus3.5.5的詳細(xì)過程
1.前置條件
已經(jīng)初始化好一個(gè)spring boot項(xiàng)目且版本為3X,項(xiàng)目可正常啟動(dòng)
2.導(dǎo)坐標(biāo)
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.5</version>
<exclusions>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>3.0.3</version>
</dependency>為何要排除掉mybatis plus整合好的mybatis依賴單獨(dú)引入一個(gè)?
Spring Boot 3.2.2整合MyBatis-Plus 3.5.5依賴不兼容問題SpringBoot3.2.2整合MyBatis-Plus3.5.5依賴不兼容的問題解決_java_腳本之家 (jb51.net)
3.配置數(shù)據(jù)源
application.yml:
spring:
datasource:
url: jdbc:mysql://localhost:3306/test
username: root
password: 1234564.配置mapper掃描路徑
在啟動(dòng)類添加@MapperScan("com.mijiu.mapper")注解指定mapper文件夾

如果不加該注解則要在每個(gè)mapper接口添加@Mapper注解
此時(shí)可以成功啟動(dòng)項(xiàng)目

看到MyBatis Plus的banner說明到這里整合好了。
5.MyBatis Plus代碼生成器整合
官方文檔:https://baomidou.com/pages/779a6e/
5.1.導(dǎo)坐標(biāo)
第一個(gè)依賴是代碼生成器
第二個(gè)是代碼生成器所依賴代碼生成模板velocity,當(dāng)然不止這一個(gè)模板具體參閱官網(wǎng)
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>5.2.編寫代碼生成邏輯
這里我寫好demo了,需要修改的地方已經(jīng)標(biāo)記//TODO注釋了
如果你的目錄結(jié)構(gòu)同作者類似,cv下面的demo修改一下//TODO標(biāo)注的配置運(yùn)行即可

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import java.util.*;
/**
* @author mijiupro
*/
public class CodeGenerator {
public static void main(String[] args) {
getCode();
}
public static void getCode() {
//TODO 修改為自己的數(shù)據(jù)庫信息
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai";
String username = "root";
String password = "123456";
//TODO 修改為自己的表名
List<String> tables = List.of("user");//需要生成對應(yīng)代碼的表名的集合
FastAutoGenerator.create(url, username, password)
//全局配置----------------------------------------------------------------------------------------
.globalConfig(builder -> {
builder
.author("蒾酒")//TODO 修改為自己名稱
.outputDir(System.getProperty("user.dir") + "\\src\\main\\java")// 輸出路徑(寫到j(luò)ava目錄)
// .enableSwagger() //開啟swagger,會(huì)自動(dòng)添加swagger相關(guān)注解
.commentDate("yyyy-MM-dd");//日期格式
})
//包名配置--------------------------------------------------------------------------------------------
.packageConfig(builder ->
builder.parent("com.mijiu")//TODO 修改為自己項(xiàng)目的路徑
// .moduleName("practice")//模塊名,設(shè)置該項(xiàng)會(huì)在輸出路徑上增加一層模塊名目錄
.entity("entity")
.service("service")
.serviceImpl("service.impl")
.controller("controller")
.mapper("mapper")
.xml("mapper/xml")
)
//策略配置-----------------------------------------------------------------------------------------
.strategyConfig(builder -> {
builder
.addInclude(tables)// 需要生成代碼對應(yīng)的表,若需要生成全部表則注釋該行解放下一行
// .addInclude("all")//生成全部表
// .addTablePrefix("p_")//表前綴過濾,例如“p_”開頭的表不會(huì)生成對應(yīng)代碼
//實(shí)體策略配置
.entityBuilder()
.enableFileOverride()// TODO 開啟覆蓋已生成的entity文件,關(guān)閉則注釋本行
.enableLombok()// 自動(dòng)添加lombok注解@Getter @Setter
.logicDeleteColumnName("deleted")// 指定邏輯刪除字段名自動(dòng)為其添加邏輯刪除字段注解
.enableTableFieldAnnotation()//啟用表字段注解@TableField
//Mapper策略配置
.mapperBuilder()
.enableBaseResultMap() // 生成通用的resultMap
.superClass(BaseMapper.class)
.formatMapperFileName("%sMapper")//mapper文件后綴,如UserMapper
// .enableFileOverride()// TODO 開啟覆蓋已生成的mapper文件,關(guān)閉則注釋本行
.formatXmlFileName("%sMapper")//xml文件后綴,如UserMapper.xml
//Service策略配置
.serviceBuilder()
// .enableFileOverride()//TODO 開啟覆蓋已生成的service文件,關(guān)閉則注釋本行
.formatServiceFileName("%sService")
.formatServiceImplFileName("%sServiceImpl")
//Controller策略配置
.controllerBuilder()
.enableHyphenStyle() // 映射路徑使用連字符格式
.formatFileName("%sController")
// .enableFileOverride()// TODO 開啟覆蓋已生成的controller文件,關(guān)閉則注釋本行
.enableRestStyle();//啟用rest風(fēng)格自動(dòng)添加@RestController
}).execute();
}
}運(yùn)行即可。
以上就是SpringBoot3.2.2整合MyBatis Plus3.5.5的詳細(xì)過程的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot3.2.2整合MyBatis Plus3.5.5的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Windows下使用Graalvm將Springboot應(yīng)用編譯成exe大大提高啟動(dòng)和運(yùn)行效率(推薦)
這篇文章主要介紹了Windows下使用Graalvm將Springboot應(yīng)用編譯成exe大大提高啟動(dòng)和運(yùn)行效率,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02
MacBook手動(dòng)安裝多版本JDK8&17并配置靈活切換步驟
作為一名JAVA開發(fā)人員,入手一臺(tái)新電腦后免不了要配置JDK運(yùn)行環(huán)境,這篇文章主要介紹了MacBook手動(dòng)安裝多版本JDK8&17并配置靈活切換的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2026-03-03
SpringBoot集成ffmpeg實(shí)現(xiàn)視頻轉(zhuǎn)碼播放示例詳解
這篇文章主要為大家介紹了SpringBoot集成ffmpeg實(shí)現(xiàn)視頻轉(zhuǎn)碼播放示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
java中Date和Timestamp類型的相互轉(zhuǎn)換方式
這篇文章主要介紹了java中Date和Timestamp類型的相互轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
Java操作數(shù)據(jù)庫(行級鎖,for update)
這篇文章主要介紹了Java操作數(shù)據(jù)庫(行級鎖,for update),文章圍繞Java操作數(shù)據(jù)庫的相關(guān)資料展開詳細(xì)內(nèi)容,需要的小伙伴可以參考一下,希望對你有所幫助2021-12-12
使用Java實(shí)現(xiàn)一個(gè)解析CURL腳本小工具
文章介紹了如何使用Java實(shí)現(xiàn)一個(gè)解析CURL腳本的工具,該工具可以將CURL腳本中的Header解析為KV Map結(jié)構(gòu),獲取URL路徑、請求類型,解析URL參數(shù)列表和Body請求體,感興趣的小伙伴跟著小編一起來看看吧2025-02-02
java如何更改數(shù)據(jù)庫中的數(shù)據(jù)
這篇文章主要介紹了java如何更改數(shù)據(jù)庫中的數(shù)據(jù),修改數(shù)據(jù)庫是數(shù)據(jù)庫操作必不可少的一部分,使用Statement接口中的excuteUpdate()方法可以修改數(shù)據(jù)表中的數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧2021-11-11
如何使用spring?boot的程序主線程中異步訪問外部接口
CompletableFuture.supplyAsync提供了一種強(qiáng)大的工具,使您能夠以異步方式執(zhí)行操作,充分利用多核處理器和提高程序性能,同時(shí)保持代碼的清晰性和可維護(hù)性,本文給大家介紹使用spring?boot的程序主線程中異步訪問外部接口,感興趣的朋友一起看看吧2023-10-10

