123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- package com.huimv.produce.service;
- /**
- * @Project :
- * @Package :
- * @Description : TODO
- * @Version : 1.0
- * @Author : ZhuoNing
- * @Create :
- **/
- import com.baomidou.mybatisplus.annotation.IdType;
- import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
- 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.apache.commons.lang.StringUtils;
- import java.util.Scanner;
- public class CodeGenerator {
- // user defined
- private static String childProjectPath = "/huimv-farm-produce";
- private static String rootPackage = "com.huimv.produce.produce";
- private static String dbIp = "192.168.1.7";
- private static String dbPort = "3306";
- private static String dbName = "huimv-lishui";
- private static String driverName = "com.mysql.cj.jdbc.Driver";
- private static String username = "root";
- private static String password = "hm123456";
- public static String scanner(String tip) {
- Scanner scanner = new Scanner(System.in);
- StringBuilder help = new StringBuilder();
- help.append("请输入" + tip + ":");
- System.out.println(help.toString());
- if (scanner.hasNext()) {
- String ipt = scanner.next();
- if (StringUtils.isNotBlank(ipt)) {
- return ipt;
- }
- }
- throw new MybatisPlusException("请输入正确的" + tip + "!");
- }
- public static void main(String[] args) {
- // 代码生成器
- AutoGenerator mpg = new AutoGenerator();
- // 全局配置
- GlobalConfig gc = new GlobalConfig();
- String rootPath = System.getProperty("user.dir");
- System.out.println("rootPath + childProjectPath="+rootPath + childProjectPath);
- gc.setOutputDir(rootPath + childProjectPath + "/src/main/java");//设置代码生成路径
- gc.setFileOverride(true);//是否覆盖以前文件
- gc.setOpen(false);//是否打开生成目录
- gc.setAuthor("zn");//设置项目作者名称
- gc.setIdType(IdType.AUTO);//设置主键策略
- gc.setBaseResultMap(true);//生成基本ResultMap
- gc.setBaseColumnList(true);//生成基本ColumnList
- gc.setServiceName("%sService");//去掉服务默认前缀
- gc.setDateType(DateType.ONLY_DATE);//设置时间类型
- mpg.setGlobalConfig(gc);
- // 数据源配置
- DataSourceConfig dsc = new DataSourceConfig();
- String url = "jdbc:mysql://"+dbIp+":"+dbPort+"/"+dbName+"?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai";
- System.out.println("url="+url);
- System.out.println("driverName="+driverName);
- System.out.println("username="+username);
- System.out.println("password="+password);
- dsc.setUrl(url);
- dsc.setDriverName(driverName);
- dsc.setUsername(username);
- dsc.setPassword(password);
- mpg.setDataSource(dsc);
- // 包配置
- PackageConfig pc = new PackageConfig();
- pc.setParent(rootPackage);
- pc.setMapper("mapper");
- pc.setXml("mapper.xml");
- // pc.setEntity("pojo");
- pc.setEntity("entity");
- pc.setService("service");
- pc.setServiceImpl("service.impl");
- pc.setController("controller");
- mpg.setPackageInfo(pc);
- // 策略配置
- StrategyConfig sc = new StrategyConfig();
- sc.setNaming(NamingStrategy.underline_to_camel);
- sc.setColumnNaming(NamingStrategy.underline_to_camel);
- sc.setEntityLombokModel(true);//自动lombok
- sc.setRestControllerStyle(true);
- sc.setControllerMappingHyphenStyle(true);
- sc.setLogicDeleteFieldName("deleted");//设置逻辑删除
- //设置自动填充配置
- // TableFill gmt_create = new TableFill("create_time", FieldFill.INSERT);
- // TableFill gmt_modified = new TableFill("update_time", FieldFill.INSERT_UPDATE);
- // ArrayList<TableFill> tableFills=new ArrayList<>();
- // tableFills.add(gmt_create);
- // tableFills.add(gmt_modified);
- // sc.setTableFillList(tableFills);
- //乐观锁
- sc.setVersionFieldName("version");
- sc.setRestControllerStyle(true);//驼峰命名
- // sc.setTablePrefix("tbl_"); 设置表名前缀
- sc.setInclude(scanner("表名,多个英文逗号分割").split(","));
- mpg.setStrategy(sc);
- // 生成代码
- mpg.execute();
- }
- }
|