美文网首页
MybatisPlus 自动生成

MybatisPlus 自动生成

作者: 一个头发茂密的程序员 | 来源:发表于2021-02-05 10:52 被阅读0次
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.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

/**
*  @author: Mr.He
*  @Date: 2020/7/17
*  @Description: MP自动生成
*/
public class CodeGeneration {

   //main函数
   public static void main(String[] args) {

       AutoGenerator autoGenerator = new AutoGenerator();

       //全局配置
       GlobalConfig gc = new GlobalConfig();

       //得到当前项目的路径
       String oPath = System.getProperty("user.dir");

//        //生成文件输出根目录
       gc.setOutputDir(oPath + "/spread-utils/src/main/java");

       //生成完成后不弹出文件框
       gc.setOpen(false);

       //文件覆盖
       gc.setFileOverride(true);

       // 不需要ActiveRecord特性的请改为false
       gc.setActiveRecord(false);

       // XML 二级缓存
       gc.setEnableCache(false);

       // XML ResultMap
       gc.setBaseResultMap(true);

       // XML columList
       gc.setBaseColumnList(false);

       // 作者
       gc.setAuthor("Mr.He");

       // 自定义文件命名,注意 %s 会自动填充表实体属性!
       gc.setControllerName("%sController");
       gc.setServiceName("%sService");
       gc.setServiceImplName("%sServiceImpl");
       gc.setMapperName("%sMapper");
       gc.setXmlName("%sMapper");
       autoGenerator.setGlobalConfig(gc);

       // 数据源配置
       DataSourceConfig dsc = new DataSourceConfig();

       //设置数据库类型
       dsc.setDbType(DbType.MYSQL);

       dsc.setDriverName("com.mysql.jdbc.Driver");

       //用户名
       dsc.setUsername("root");

       //密码
       dsc.setPassword("123456");

       //指定数据库
       dsc.setUrl("jdbc:mysql://localhost:3306/spread");
       autoGenerator.setDataSource(dsc);

       // 策略配置
       StrategyConfig strategy = new StrategyConfig();

       // 表名生成策略
       strategy.setNaming(NamingStrategy.underline_to_camel);

       // 需要生成的表
       strategy.setInclude(new String[]{"t_reward_rule"});
       strategy.setTablePrefix("t_");
       strategy.setSuperServiceClass(null);
       strategy.setSuperServiceImplClass(null);
       strategy.setSuperMapperClass(null);
       strategy.setEntityLombokModel(true);

       //去除表前缀
//        strategy.setTablePrefix("an_");
       //去除字段前缀
//        strategy.setFieldPrefix(new String[]);
       autoGenerator.setStrategy(strategy);

       // 包配置
       PackageConfig pc = new PackageConfig();
       //父包路径
//        pc.setModuleName("spread-utils");
       pc.setParent("com.spread.utils");
       pc.setController("controller");
       pc.setService("service");
       pc.setServiceImpl("service.impl");
       pc.setMapper("mapper");
       pc.setEntity("entity");
       pc.setXml("mapper");
       autoGenerator.setPackageInfo(pc);
       // 执行生成
       autoGenerator.execute();
   }
}

相关文章

网友评论

      本文标题:MybatisPlus 自动生成

      本文链接:https://www.haomeiwen.com/subject/phpwtltx.html