1、MyBatis-Plus簡介

​ 在程式碼開發中,肯定會遇到程式碼中對應資料庫表去編寫實體類的工作,若資料庫表數量多的情況下,編寫Entity,屬實是一件消耗時間,且並沒有什麼技術含量的事情,如何解決呢?

​ 現在就來介紹MyBatis-Plus程式碼生成器,眾所周知,MyBatis-Plus是一款MyBatis的增強工具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生。MyBatis-Plus程式碼生成器,可以一鍵生成Entity、Mapper、Mapper XML、Service、Controller 等各個模組的程式碼,極大的提升了開發效率。

​ Mybatis-Plus具體詳情請至MyBatis-Plus官網。

2、MyBatis-Plus程式碼生成器使用方式

接下來將介紹如何使用MyBatis-Plus程式碼生成器

第一步 新增依賴

在SpringBoot專案中的pom.xml中需要新增以下依賴

        <!--程式碼生成器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<!--模板引擎依賴-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency> <!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>

在MyBatis-Plus官網中提及,在3.0.3版本後移除了程式碼生成器模板引擎的預設依賴,需要手動新增相關依賴,因為程式碼生成器中使用到了Swagger註解,所以也要引入Swagger依賴,來保證生成的程式碼不報紅。

Swagger 是一款RESTFUL介面的文件線上自動生成+功能測試功能軟體

第二步 編寫配置

以下是我自己的配置,編寫在SpringBoot中的test中,因為配置程式碼只需要執行一次,並不需要部署到伺服器中。

也可以去官網根據官網教程去自定義模板引擎和程式碼模板

https://mp.baomidou.com/guide/generator.html

以下配置類有幾個地方必須根據自己實際情況改動

1、資料來源配置

根據自己的資料庫地址和資料庫名稱進行改動

dsc.setUrl("jdbc:mysql://localhost:3306/cl?serverTimezone=GMT%2B8&characterEncoding=utf-8");

若是mysql5左右的版本則驅動需要把cj刪除

dsc.setDriverName("com.mysql.cj.jdbc.Driver");

資料庫使用者和密碼需要根據自己的資料庫進行更改

dsc.setUsername("root");

dsc.setPassword("111111");

2、包配置

pc.setParent("com.nero.mybatisplus");

package com.nero.mybatisplus.generator;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.jupiter.api.Test; /**
* @author chengliang
* @create 2021-09-27
*/
public class CondGenerator { @Test
public void genCode() { // 1、建立程式碼生成器
AutoGenerator mpg = new AutoGenerator(); // 2、全域性配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java");
gc.setAuthor("Nero");
gc.setOpen(false); //生成後是否開啟資源管理器
gc.setServiceName("%sService"); //去掉Service介面的首字母I
gc.setIdType(IdType.AUTO); //主鍵策略
gc.setSwagger2(true);//開啟Swagger2模式
mpg.setGlobalConfig(gc); // 3、資料來源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/cl?serverTimezone=GMT%2B8&characterEncoding=utf-8");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("111111");
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc); // 4、包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.nero.mybatisplus");
pc.setEntity("pojo.entity"); //此物件與資料庫表結構一一對應,通過 DAO 層向上傳輸資料來源物件。
mpg.setPackageInfo(pc); // 5、策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);//資料庫表對映到實體的命名策略 strategy.setColumnNaming(NamingStrategy.underline_to_camel);//資料庫表字段對映到實體的命名策略
strategy.setEntityLombokModel(true); // lombok
strategy.setLogicDeleteFieldName("is_deleted");//邏輯刪除欄位名
strategy.setEntityBooleanColumnRemoveIsPrefix(true);//去掉布林值的is_字首(確保tinyint(1))
strategy.setRestControllerStyle(true); //restful api風格控制器
mpg.setStrategy(strategy); // 6、執行
mpg.execute();
}
}

第三步 直接啟動配置類

就可以看見在自己工程的目錄下,自動生成的內容

以上就是Mybatis-Plus程式碼生成器的全部教程了,由於本人能力有限,歡迎訪問個人部落格,進行技術交流,如有不足,歡迎指正~