1、添加依赖
MyBatis-Plus依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1.tmp</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.1.tmp</version>
</dependency>
添加模板引擎依赖:MyBatis-Plus 支持 Velocity(默认)
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.2</version>
</dependency>
2、代码实现
public class Code {
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();
//配置策略
// 1、全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java");
gc.setAuthor("Brandt");
gc.setOpen(false); //是否打开目录所在文档
// gc.setSwagger2(true); 实体属性 Swagger2 注解
mpg.setGlobalConfig(gc);
gc.setFileOverride(false); //是否覆盖
gc.setServiceName("%sService"); //去掉Service的I前缀
mpg.setGlobalConfig(gc);
//2、数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost/blog2?useUnicode=true&characterEncoding=utf8&useSSL=false");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("zhu");
dsc.setPassword("357715");
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
//3、包的配置
PackageConfig pc = new PackageConfig();
// pc.setModuleName("warehouse"); //设置模块名
pc.setModuleName(scanner("模块名"));
pc.setParent("BlogMybatis"); //设置模块名放在哪个包的下面
pc.setEntity("pojo"); //设置实体类的包名
pc.setController("controller"); //设置controller的包名
pc.setService("service"); //设置service的包名
pc.setMapper("mapper"); //设置mapper的包名
pc.setXml("mapper.xml");
mpg.setPackageInfo(pc);
//4、策略配置
StrategyConfig strategy = new StrategyConfig();
// strategy.setInclude("sys_user"); //设置数据库要映射的表名
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel); //数据库字段下划线(_)驼峰标识
strategy.setEntityLombokModel(true); //自动生成lombok
strategy.setRestControllerStyle(true); //设置controller驼峰命名格式
strategy.setControllerMappingHyphenStyle(true);
strategy.setInclude(scanner("表名,多个英文逗号隔开").split(","));
strategy.setTablePrefix(pc.getModuleName()+"_");
mpg.setStrategy(strategy);
mpg.execute(); //执行代码生成器
}
}