代码生成器模板

package com.guoba.springboot;

import com.baomidou.mybatisplus.annotation.DbType;
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.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;

/**

  • @author

  • @since 2018/12/13
    */
    public class CodeGenerator {

    @Test
    public void run() {

     // 1、创建代码生成器
     AutoGenerator mpg = new AutoGenerator();
    
     // 2、全局配置
     GlobalConfig gc = new GlobalConfig();
     String projectPath = System.getProperty("user.dir");
     gc.setOutputDir("G:\\idea_code\\day10\\guli_parent\\service\\service_cms" + "/src/main/java");
    
     gc.setAuthor("testjava");
     gc.setOpen(false); //生成后是否打开资源管理器
     gc.setFileOverride(false); //重新生成时文件是否覆盖
    
     //UserServie
     gc.setServiceName("%sService");	//去掉Service接口的首字母I
    
     gc.setIdType(IdType.ID_WORKER_STR); //主键策略
     gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
     gc.setSwagger2(true);//开启Swagger2模式
    
     mpg.setGlobalConfig(gc);
    
     // 3、数据源配置
     DataSourceConfig dsc = new DataSourceConfig();
     dsc.setUrl("jdbc:mysql://localhost:3306/guli_edu?serverTimezone=GMT%2B8");
     dsc.setDriverName("com.mysql.cj.jdbc.Driver");
     dsc.setUsername("root");
     dsc.setPassword("root");
     dsc.setDbType(DbType.MYSQL);
     mpg.setDataSource(dsc);
    
     // 4、包配置
     PackageConfig pc = new PackageConfig();
     pc.setModuleName("educms"); //模块名
     //包  com.atguigu.eduservice
     pc.setParent("com.guoba");
     //包  com.atguigu.eduservice.controller
     pc.setController("controller");
     pc.setEntity("entity");
     pc.setService("service");
     pc.setMapper("mapper");
     mpg.setPackageInfo(pc);
    
     // 5、策略配置
     StrategyConfig strategy = new StrategyConfig();
    
     strategy.setInclude("crm_banner");
    
     strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
     strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀
    
     strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
     strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
    
     strategy.setRestControllerStyle(true); //restful api风格控制器
     strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
    
     mpg.setStrategy(strategy);
    
    
     // 6、执行
     mpg.execute();
    

    }
    }

posted @ 2022-05-21 15:53  锅巴编程  阅读(156)  评论(0编辑  收藏  举报