小程式分享到朋友圈
阿新 • • 發佈:2022-05-10
需要匯入的依賴
<!--mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency> <!-- 程式碼生成器 依賴--> <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.3</version> </dependency>
具體程式碼
package top.luoking; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.annotation.FieldFill; 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; import com.baomidou.mybatisplus.generator.config.po.TableFill; import com.baomidou.mybatisplus.generator.config.rules.DateType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import java.util.ArrayList; public class AutoCode { public static void main(String[] args) { AutoGenerator mpg = new AutoGenerator(); //全域性配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); // gc.setOutputDir(projectPath+"/src/main/java"); //設定輸出目錄 gc.setAuthor("luoking"); gc.setOpen(false); gc.setFileOverride(false);//是否覆蓋 gc.setServiceName("%sService");//去Service的I字首 gc.setIdType(IdType.ASSIGN_ID); gc.setDateType(DateType.ONLY_DATE); //設定日期型別 gc.setSwagger2(true);//設定Swagger介面 mpg.setGlobalConfig(gc); //設定資料來源 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useSSl=false&useUnicode=true&characterEncoding=utf-8"); dsc.setUsername("root"); dsc.setPassword("root"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setDbType(DbType.MYSQL); mpg.setDataSource(dsc); //包的配置 PackageConfig pc = new PackageConfig(); pc.setModuleName("AutoCode");//設定模組名 pc.setParent("top.luoking");//設定父包名 pc.setEntity("pojo");//實體類包名 pc.setService("Service"); pc.setMapper("mapper"); pc.setController("controller"); mpg.setPackageInfo(pc); //策略配置 StrategyConfig sc = new StrategyConfig(); sc.setInclude("user");//要對映的表名 sc.setColumnNaming(NamingStrategy.underline_to_camel);//下劃線可以為駝峰命名 sc.setEntityLombokModel(true);//自動Lombok sc.setLogicDeleteFieldName("deleted");//邏輯刪除欄位 //自動配置 TableFill createTime = new TableFill("create_time", FieldFill.INSERT); TableFill updateTime = new TableFill("update_time", FieldFill.INSERT_UPDATE); ArrayList<TableFill> list = new ArrayList<>(); list.add(createTime); list.add(updateTime); sc.setTableFillList(list); //樂觀鎖 sc.setVersionFieldName("version"); sc.setRestControllerStyle(true); sc.setControllerMappingHyphenStyle(true); mpg.setStrategy(sc); mpg.execute();//執行 } }