代码生成器

代码生成器基于mybatis-plus持久化框架,可快速生成数据表对应的类:

  • Controller.java 控制器
  • Service.java service接口
  • ServiceImpl.java service实现类
  • Mapper.java DAO
  • Entity.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("user.dir"
版权声明:本文为chenyumin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/chenyumin/p/11797976.html