mybatis-plus自动生成代码
package com.example.demo.utils; 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.*; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import org.apache.commons.lang.StringUtils; import java.util.Scanner; /** * @author: Mr. * @date: 2021/8/5 12:54 */ public class MySqlGenerator { /** * 读取控制台内容 */ // public static String scanner(String tip){ // Scanner scanner = new Scanner(System.in); // System.out.println("请输入" + tip + ":"); // 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 projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java"); gc.setActiveRecord(true); gc.setAuthor("Mrs.Liao"); //设置作者 gc.setIdType(IdType.AUTO); gc.setOpen(false); gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉 gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有 gc.setBaseResultMap(true); //基本的字段映射 mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("root"); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.oeandn.hanwha"); // pc.setModuleName(scanner("模块名")); pc.setMapper("mapper"); pc.setService("service"); pc.setController("controller"); pc.setEntity("entity"); mpg.setPackageInfo(pc); // 4、策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setCapitalMode(true); // 全局大写命名 strategy.setNaming(NamingStrategy.underline_to_camel); // 数据库字段下划线转驼峰命令策略 strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityTableFieldAnnotationEnable(true); strategy.setRestControllerStyle(true); String tables = "table,table2"; strategy.setInclude(tables.split(",")); mpg.setStrategy(strategy); //5、执行 mpg.execute(); } }