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 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(); } }