代码生成器:使用 MyBatis-Plus Generator 进行代码生成

依赖导入:

  生成器
    com.baomidou
    mybatis-plus-generator
    3.4.1

  模版引擎:Velocity 用作模板引擎,根据预定义的模板和传入的参数,生成最终的代码文件。
    org.apache.velocity
    velocity-engine-core
    2.3
    provided

生成器相当于你使用电脑更改你的打印文档,而模板引擎就好比打印机将你写好的代码模版打印出来,生成你的实体类entity 三层架构 Mapper Service Controller

示例代码:

package com.zxl;


import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

public class CodeGen {

    public static void main(String[] args) {

        String  moduleName = "store";//模块名
        String  dataBaseName = "store";//库名
        String tableName = "store";//表名
        //String projectPath = "D:/project/yygh/guigu-syt-parent";
        String projectPath = System.getProperty("user.dir");//user.dir是固定参数,无论你将这个代码生成器用在哪里都是传入这个参数

        // 1、创建代码生成器
        AutoGenerator mpg = new AutoGenerator();

        // 2、全局配置
        // 全局配置
        GlobalConfig gc = new GlobalConfig();
//        gc.setOutputDir(projectPath + "/service/service-" + moduleName + "/src/main/java");
        gc.setOutputDir(projectPath + "/service-" + moduleName + "/src/main/java");
        System.out.println(projectPath);

      //%s表示占位符,实现字符串拼接。这里%s是首字符大写的实体名称。
      //默认情况下:service接口名称的生成规则是 I%sService,这里我们将它改成习惯用的%sService
        gc.setServiceName("%sService");
      //默认情况下:controller接口名称的生成规则是 %sController,这里我们添加一个Admin前缀
        gc.setControllerName("Admin%sController");
        gc.setAuthor("zxl");
        gc.setOpen(false);
        mpg.setGlobalConfig(gc);

        // 3、数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://localhost:3306/student_" + dataBaseName + "?characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false");
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("123456");
        dsc.setDbType(DbType.MYSQL);
        mpg.setDataSource(dsc);

        // 4、包配置
        PackageConfig pc = new PackageConfig();
        pc.setModuleName(moduleName); //模块名
        pc.setParent("com.zxl");
        pc.setController("controller");
        pc.setEntity("entity");
        pc.setService("service");
        pc.setMapper("mapper");
        mpg.setPackageInfo(pc);

        // 5、策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
        strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
        strategy.setRestControllerStyle(true); //restful api风格控制器
        strategy.setInclude(tableName);//设置生成的表名

        mpg.setStrategy(strategy);

        // 6、执行
        mpg.execute();
    }
}

导入相关依赖,将这个代码粘贴到test目录即可,选好你对应的MySQL数据库名和表名,点击运行即可使用!

你可能感兴趣的:(mybatis,java,tomcat)