Mybatisplus+spring+springmvc
Mybatisplus 逆向工程生成类
CodeGenerator.java
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.toolkit.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class CodeGenerator {
public static void main(String[] args) {
// ================= 必须修改的配置 start =================
// 数据源配置
String jdbcUrl = "jdbc:mysql://127.0.0.1:3306/travel?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
String jdbcDriver = "com.mysql.cj.jdbc.Driver";
String jdbcUsername = "root";
String jdbcPassword = "root";
// 父级包名配置
String parentPackage = "com.travel";
// 生成代码的 @author 值
String author = "zxj";
// 要生成代码的表名配置
String[] tables = {
"tab_category",
"tab_favorite",
"tab_route",
"tab_route_img",
"tab_seller",
"tab_user"
};
// ================= 必须修改的配置 end =================
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java");
gc.setAuthor(author);
gc.setBaseResultMap(true);
gc.setBaseColumnList(true);
// 生成完毕后是否打开输出目录
gc.setOpen(false);
// 为true时生成entity将继承Model类,单类即可完成基于单表的业务逻辑操作,按需开启
gc.setActiveRecord(true);
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl(jdbcUrl);
dsc.setDriverName(jdbcDriver);
dsc.setUsername(jdbcUsername);
dsc.setPassword(jdbcPassword);
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
// 父级包名,按需修改
pc.setParent(parentPackage);
// 设置模块名, 会在parent包下生成一个指定的模块包
pc.setModuleName(null);
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setRestControllerStyle(true);
strategy.setSuperEntityClass(&#