多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
~~~ package cn.maicaii.service.edu; /*Generator ˈdʒenəreɪtər 生成器 * */ 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 org.apache.tomcat.util.security.Escape; import org.junit.jupiter.api.Test; import java.util.ArrayList; // 演示例子,执行 main 方法控制台输入模块表名回车自动生成对应项目目录中 public class CodeGenerator { @Test public void getCode() { String prefix = "service"; //数据库前缀 String moduleName = "edu"; //表前缀 //1.创建代码生成器 AutoGenerator mpg = new AutoGenerator(); //2.全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java"); gc.setAuthor("作者:曾明勇 QQ:2679652842 ");//生成作者注释 gc.setOpen(false);//生成后是否打开资源管理器 gc.setSwagger2(true); //实体属性 Swagger2 注解 gc.setFileOverride(true);//重新生成时文件是否覆盖 gc.setServiceName("%sServive");//去掉Service接口的首字母I gc.setIdType(IdType.ASSIGN_ID);//主键策略 gc.setDateType(DateType.ONLY_DATE);//设置日期策略 mpg.setGlobalConfig(gc); //3. 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://rm-2zea917282a9u6o4dqo.mysql.rds.aliyuncs.com:3306/service_edu?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("zeng1996"); dsc.setPassword("Zeng1996"); dsc.setDbType(DbType.MYSQL); mpg.setDataSource(dsc); // 4.包配置 PackageConfig pc = new PackageConfig(); pc.setModuleName(moduleName);//模块名称 pc.setParent("com.maicaii.service"); pc.setController("controller"); pc.setEntity("entity"); pc.setService("service"); pc.setMapper("mapper"); mpg.setPackageInfo(pc); // 5.策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel);//数据库映射到实体的命名策略 strategy.setTablePrefix(moduleName + "_");//设置表字段前缀不生效 strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库映射到实体的命名策略 // strategy.setSuperEntityClass("你自己的父类实体,没有就不用设置!"); strategy.setEntityLombokModel(true);//lombok模型@Accessars(chain=true) seeter链式操作 strategy.setLogicDeleteFieldName("is_deleted");//软删除字段名 strategy.setRestControllerStyle(true);//去掉布尔值的is_前缀 //6.自动配置 TableFill getCreate = new TableFill("get_create", FieldFill.INSERT); TableFill getModified = new TableFill("get_modified", FieldFill.INSERT_UPDATE); ArrayList<TableFill> tableFeills = new ArrayList<>(); tableFeills.add(getCreate); tableFeills.add(getModified); strategy.setTableFillList(tableFeills); strategy.setRestControllerStyle(true);//restful api风格控制器 strategy.setControllerMappingHyphenStyle(true);//url中驼峰式转连字符 mpg.setStrategy(strategy); //7 .执行生成代码 控制器 实体类 服务层 持久层 mpg.execute(); } } ~~~