-
匯入依賴
<!--代碼生成器--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.1</version> </dependency> <!--velocity模板引擎--> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.3</version> </dependency> -
寫一個類 Generator ,名字叫什么都行,寫在哪里也都可以,在這個類里面寫main方法,運行main方法即可生成代碼,內容如下:
public static void main(String[] args) { //獲取代碼生成器物件 AutoGenerator autoGenerator = new AutoGenerator(); //設定資料庫相關配置 DataSourceConfig dataSource = new DataSourceConfig(); dataSource.setDriverName("com.mysql.cj.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/db?serverTimezone=UTC"); dataSource.setUsername("root"); dataSource.setPassword("1234"); autoGenerator.setDataSource(dataSource); //設定全域配置 GlobalConfig globalConfig = new GlobalConfig(); globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java");//設定代碼輸出位置,否則默認輸出到D://目錄下 globalConfig.setOpen(false);//設定生成完畢后是否打開生成代碼的目錄,一般選擇false,不需要打開目錄 globalConfig.setAuthor("tuuli");//作者名字,會在注釋中添加作者名字 globalConfig.setFileOverride(true);//是否覆寫原始生成的檔案,選擇true后,生成時若原來已有相同檔案會自動覆寫,謹慎操作 globalConfig.setMapperName("%sDao");//設定資料層介面名,%s為占位符,指代模塊名稱,默認為"%sMapper" globalConfig.setIdType(IdType.AUTO);//設定id生成策略 autoGenerator.setGlobalConfig(globalConfig); //設定包名配置 PackageConfig packageConfig = new PackageConfig(); packageConfig.setParent("com.tuuli");//設定生成的包名,默認為"com.baomidou" packageConfig.setEntity("domain");//設定物體類包名,默認為entity packageConfig.setMapper("dao");//設定資料層包名,默認為mapper autoGenerator.setPackageInfo(packageConfig); //策略設定 StrategyConfig strategyConfig = new StrategyConfig(); strategyConfig.setInclude("tb_course");//設定參與生成的表名,可填一個或多個 strategyConfig.setTablePrefix("tb_");//設定資料庫表名的前綴名稱,設定后會省略該前綴 strategyConfig.setRestControllerStyle(false);//設定是否啟用Rest風格 //strategyConfig.setLogicDeleteFieldName("deleted");//設定邏輯洗掉欄位名,沒有就不填 strategyConfig.setEntityLombokModel(true);//設定是否啟用Lombok autoGenerator.setStrategy(strategyConfig); //執行生成操作 autoGenerator.execute(); } -
測驗
- 新建一個springboot專案,匯入相關依賴坐標,初始時目錄結構如下:

-
新建資料庫,資料名db3,新建了兩個表,分別為tb_user、tb_course,表結構如下:
tb_user

tb_course

表中內容均為空,
-
生成代碼,此處代碼生成器的完整代碼的如下:
package com.tuuli; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.GlobalConfig; import com.baomidou.mybatisplus.generator.config.PackageConfig; import com.baomidou.mybatisplus.generator.config.StrategyConfig; /** * @author tuuli * @time Created in 2023/2/20 23:21 * @description */ public class Generator { public static void main(String[] args) { //獲取代碼生成器物件 AutoGenerator autoGenerator = new AutoGenerator(); //設定資料庫相關配置 DataSourceConfig dataSource = new DataSourceConfig(); dataSource.setDriverName("com.mysql.cj.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/db3?serverTimezone=UTC"); dataSource.setUsername("root"); dataSource.setPassword("1234"); autoGenerator.setDataSource(dataSource); //設定全域配置 GlobalConfig globalConfig = new GlobalConfig(); globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java");//設定代碼輸出位置,否則默認輸出到D://目錄下 globalConfig.setOpen(false);//設定生成完畢后是否打開生成代碼的目錄,一般選擇false,不需要打開目錄 globalConfig.setAuthor("tuuli");//作者名字,會在注釋中添加作者名字 globalConfig.setFileOverride(true);//是否覆寫原始生成的檔案,選擇true后,生成時若原來已有相同檔案會自動覆寫,謹慎操作 globalConfig.setMapperName("%sDao");//設定資料層介面名,%s為占位符,指代模塊名稱,默認為"%sMapper" globalConfig.setIdType(IdType.AUTO);//設定id生成策略 autoGenerator.setGlobalConfig(globalConfig); //設定包名配置 PackageConfig packageConfig = new PackageConfig(); packageConfig.setParent("com.tuuli");//設定生成的包名,默認為"com.baomidou" packageConfig.setEntity("domain");//設定物體類包名,默認為entity packageConfig.setMapper("dao");//設定資料層包名,默認為mapper autoGenerator.setPackageInfo(packageConfig); //策略設定 StrategyConfig strategyConfig = new StrategyConfig(); strategyConfig.setInclude("tb_course", "tb_user");//設定參與生成的表名,可填一個或多個 strategyConfig.setTablePrefix("tb_");//設定資料庫表名的前綴名稱,設定后會省略該前綴 strategyConfig.setRestControllerStyle(false);//設定是否啟用Rest風格 //strategyConfig.setLogicDeleteFieldName("deleted");//設定邏輯洗掉欄位名,沒有就不填 strategyConfig.setEntityLombokModel(true);//設定是否啟用Lombok autoGenerator.setStrategy(strategyConfig); //執行生成操作 autoGenerator.execute(); } } -
運行成功,目錄內容已發生改變,已生成相關代碼

controller層代碼:

dao層代碼(請手動添加@Mapper注解,否則后面會出錯):

domain層代碼:

mapper.xml

service介面:

service實作類:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/544432.html
標籤:其他
