mybatis-plus
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<!--代码生成引擎-->
<dependency>
<artifactId>velocity</artifactId>
<groupId>org.apache.velocity</groupId>
<version>1.7</version>
</dependency>
<!--mybatis-plus 后台生成代码所需-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
</exclusion>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-annotation</artifactId>
</exclusion>
</exclusions>
</dependency>
package com.resgo.financial.code; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.InjectionConfig; import com.baomidou.mybatisplus.generator.config.*; import com.baomidou.mybatisplus.generator.config.po.TableInfo; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine; import java.util.ArrayList; import java.util.List; public class MysqlCodeGenerator { public final static String projectPath = System.getProperty("user.dir")+"/resgo-financial-provider"; 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("YYZ"); gc.setSwagger2(true); gc.setFileOverride(false); //是否覆盖 gc.setActiveRecord(false);// 不需要ActiveRecord特性的请改为false gc.setEnableCache(false);// XML 二级缓存 gc.setBaseResultMap(true);// XML ResultMap gc.setBaseColumnList(true);// XML columList // 自定义文件命名,注意 %s 会自动填充表实体属性! gc.setMapperName("%sMapper"); gc.setXmlName("%sMapper"); gc.setServiceName("%sService"); gc.setServiceImplName("%sServiceImpl"); gc.setControllerName("%sController"); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setUrl("jdbc:mysql://192.168.1.16:3306/cloud_dev?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8"); dsc.setDriverName("com.alibaba.druid.pool.DruidDataSource"); dsc.setUsername("root"); dsc.setPassword("123456.com"); mpg.setDataSource(dsc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); // strategy.setCapitalMode(true);// 全局大写命名 ORACLE 注意 strategy.setTablePrefix(new String[] { "" });// 此处可以修改为您的表前缀 strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityLombokModel(true); strategy.setRestControllerStyle(true); strategy.setInclude(new String[] { "fn_receipt","fn_receipt_writeoff"}); // 需要生成的表 // strategy.setInclude(new String[] { "lab_report","lab_report_attachment","lab_report_sku","lab_report_store"}); // 需要生成的表 // strategy.setExclude(new String[]{"test"}); // 排除生成的表 mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.resgo.financial"); pc.setController("controller"); pc.setModuleName(""); pc.setEntity("domain"); pc.setMapper("mapper"); mpg.setPackageInfo(pc); // 自定义配置 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { // to do nothing } }; // 自定义输出配置 List<FileOutConfig> focList = new ArrayList<>(); // 如果模板引擎是 velocity String templatePath = "/templates/mapper.xml.vm"; // 自定义配置会被优先输出 focList.add(new FileOutConfig(templatePath) { @Override public String outputFile(TableInfo tableInfo) { // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!! return projectPath + "/src/main/resources/mapper/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML; } }); // cfg.setFileCreate(new IFileCreate() { // @Override // public boolean isCreate(ConfigBuilder configBuilder, FileType fileType, String filePath) { // // 判断自定义文件夹是否需要创建 //// checkDir("调用默认方法创建的目录,自定义目录用"); // if (fileType == FileType.ENTITY) { // // 已经生成 entity 文件判断存在,不想重新生成返回 false // return true; // } // if (fileType != FileType.ENTITY) { // // 已经生成 其他 文件 ,判断存在,不想重新生成返回 false // return new File(filePath).exists(); // } // // 允许生成模板文件 // return true; // } // }); cfg.setFileOutConfigList(focList); mpg.setCfg(cfg); // 配置模板 TemplateConfig templateConfig = new TemplateConfig(); //// 配置不生成controller // templateConfig.setController(""); //// //// 配置不生成service // templateConfig.setService(""); //// //// 配置不生成serviceImpl // templateConfig.setServiceImpl(""); //// //// 配置不生成Mapper // templateConfig.setMapper(""); //// //// 配置不生成Mapper.xml // templateConfig.setXml(""); //// //// 配置不生成entity // templateConfig.setEntity(""); templateConfig.setXml(null); mpg.setTemplate(templateConfig); mpg.setTemplateEngine(new VelocityTemplateEngine()); // 执行生成 mpg.execute(); } }