Mybatis-plus代码生成器
2019-11-05 09:51:06来源:博客园 阅读 ()
Mybatis-plus代码生成器
代码生成器
代码生成器基于mybatis-plus持久化框架,可快速生成数据表对应的类:
Controller.java
控制器Service.java
service接口ServiceImpl.java
service实现类Mapper.java
DAOEntity.java
实体mapper.xml
SQL
依赖包
<!--代码生成插件-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.1.1</version>
</dependency>
<!--freemarker支持-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
执行程序
修改生成类的路径、类名、父类等各种生成策略
修改数据库连接信息,数据库名、用户名、密码
运行main方法,控制台输入需要生成代码的表名,多个表用
,
分隔
package com.wafersystems.virsical.map;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
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.generator.engine.FreemarkerTemplateEngine;
import lombok.experimental.UtilityClass;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* 代码生成,执行 main 方法控制台输入模块表名回车自动生成对应项目目录中
*
* @author tandk
* @date 2019/4/30 10:57
*/
@Slf4j
@UtilityClass
public class CodeGenerator {
/**
* 如果模板引擎是 freemarker
*/
private final String templatePath = "/templates/mapper.xml.ftl";
/**
* <p>
* 读取控制台内容
* </p>
*/
public static String scanner(String tip) {
Scanner scanner = new Scanner(System.in, "UTF-8");
StringBuilder help = new StringBuilder();
help.append("请输入" + tip + ":");
log.info(help.toString());
if (scanner.hasNext()) {
String ipt = scanner.next();
if (StringUtils.isNotEmpty(ipt)) {
return ipt;
}
}
throw new MybatisPlusException("请输入正确的" + tip + "!");
}
/**
* 代码生成入口
*/
public static void main(String[] args) {
// 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty(