mybatisPlus-程式碼自動生成器
阿新 • • 發佈:2022-04-01
1 官方文件地址
新版程式碼生成器:程式碼生成器(新) | MyBatis-Plus (baomidou.com)
舊版程式碼生成器:程式碼生成器(舊) | MyBatis-Plus (baomidou.com)
2 舊版生成器配置程式碼
public class Code { public static void main(String[] args) { //需要構建一個 程式碼自動生成器 物件 // 程式碼生成器 AutoGenerator mpg = new AutoGenerator(); //配置策略 //1、全域性配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java"); gc.setAuthor("ChanV"); gc.setOpen(false); gc.setFileOverride(false); //是否覆蓋 gc.setServiceName("%sService"); //去Service的I字首 gc.setIdType(IdType.ID_WORKER); gc.setDateType(DateType.ONLY_DATE); gc.setSwagger2(true); mpg.setGlobalConfig(gc); //2、設定資料來源 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/mybatis-plus?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("root"); dsc.setDbType(DbType.MYSQL); mpg.setDataSource(dsc); //3、包的配置 PackageConfig pc = new PackageConfig(); pc.setModuleName("blog"); pc.setParent("com.chanv"); pc.setEntity("pojo"); pc.setMapper("mapper"); pc.setService("service"); pc.setController("controller"); mpg.setPackageInfo(pc); //4、策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setInclude("user"); //設定要對映的表名 strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityLombokModel(true); //自動lombok strategy.setLogicDeleteFieldName("deleted"); //自動填充配置 TableFill createTime = new TableFill("create_time", FieldFill.INSERT); TableFill updateTime = new TableFill("update_time", FieldFill.UPDATE); ArrayList<TableFill> tableFills = new ArrayList<>(); tableFills.add(createTime); tableFills.add(updateTime); strategy.setTableFillList(tableFills); //樂觀鎖 strategy.setVersionFieldName("version"); strategy.setRestControllerStyle(true); strategy.setControllerMappingHyphenStyle(true); //localhost:8080/hello_id_2 mpg.setStrategy(strategy); mpg.execute(); //執行程式碼構造器 } }
3 生成效果
如果需要生成其它表只需要修改程式碼中對映的表名,並且表名的引數可以傳多個,可以同時生成多個表 : strategy.setInclude("user"); //設定要對映的表名