springboot:集成mybatisplus 3.x 并生成代码

1、引入依赖



    com.baomidou
    mybatis-plus-generator



    org.apache.velocity
    velocity-engine-core
    2.0

2、创建CodeGenerator类

package com.wsh.serveruser;

import com.baomidou.mybatisplus.annotation.IdType;
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;

/**
 * @author wsh
 * @create 2020-01-11 9:53
 */
public class CodeGenerator {

    public static void main(String[] args) {
        String schemaName = "aas";
        // 表名,多个英文逗号分割
        String tableName = "admin_user";

        String url = "jdbc:mysql://localhost:3306/aas?characterEncoding=utf8&useUnicode=true&serverTimezone=UTC";
        String driverName = "com.mysql.cj.jdbc.Driver";
        String userName = "root";
        String password = "123456";
        String author = "wsh";

        String entityPath = "com.wsh.serveruser.entity";
        String controllerPath = "com.wsh.serveruser.controller";
        String servicePath = "com.wsh.serveruser.service";
        String serviceImplPath = "com.wsh.serveruser.service.impl";
        String mapperXmlPath = "com.wsh.serveruser.dao.aas";
        String mapperPath = "com.wsh.serveruser.dao.aas.mapper";

        // 代码生成器
        AutoGenerator mpg = new AutoGenerator();

        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        // 生成文件的输出目录
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/src/main/java");
        // 是否打开输出目录,默认true
        gc.setOpen(false);
        // 是否覆盖已有文件,默认false
        gc.setFileOverride(true);
        // 是否在xml中添加二级缓存配置,默认false
        gc.setEnableCache(false);
        // 开发者
        gc.setAuthor(author);
        // 开启 swagger2 模式,默认false
        gc.setSwagger2(true);
        // 开启 BaseResultMap,默认false
        gc.setBaseResultMap(true);
        // 指定生成的主键的ID类型,默认null
        gc.setIdType(IdType.AUTO);

        gc.setEntityName("%s");
        gc.setControllerName("%sController");
        gc.setServiceName("%sService");
        gc.setServiceImplName("%sServiceImpl");
        gc.setMapperName("%sMapper");
        gc.setXmlName("%sMapper");
        mpg.setGlobalConfig(gc);

        // 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setSchemaName(schemaName);
        dsc.setUrl(url);
        dsc.setDriverName(driverName);
        dsc.setUsername(userName);
        dsc.setPassword(password);
        mpg.setDataSource(dsc);

        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setParent("")
            .setMapper(mapperPath)
            .setService(servicePath)
            .setServiceImpl(serviceImplPath)
            .setController(controllerPath)
            .setEntity(entityPath)
            .setXml(mapperXmlPath);
        mpg.setPackageInfo(pc);

        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
        // 表名生成策略(下划线转驼峰命名)
        strategy.setNaming(NamingStrategy.underline_to_camel);
        // 列名生成策略(下划线转驼峰命名)
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
        // 是否生成实体时,生成字段注解
        strategy.setEntityTableFieldAnnotationEnable(true);
        // 是否启动Lombok配置
        strategy.setEntityLombokModel(true);
        // 是否启动REST风格配置
        strategy.setRestControllerStyle(true);
        // 自定义实体父类
//        strategy.setSuperEntityClass("com.baomidou.mybatisplus.extension.activerecord.Model");
        // 自定义controller父类
//        strategy.setSuperControllerClass("pro.nbbt.base.controller.BaseController");
        // 自定义service父接口
//        strategy.setSuperServiceClass("com.baomidou.mybatisplus.extension.service.IService");
        // 自定义service实现类
//        strategy.setSuperServiceImplClass("com.baomidou.mybatisplus.extension.service.impl.ServiceImpl");
        // 自定义mapper接口
//        strategy.setSuperMapperClass("com.baomidou.mybatisplus.core.mapper.BaseMapper");
        // 自定义基础的Entity类,公共字段
//        strategy.setSuperEntityColumns("user_id");
        // 表名
        strategy.setInclude(tableName);
        mpg.setStrategy(strategy);
        // 执行
        mpg.execute();
    }

}

你可能感兴趣的:(springboot,mybatisplus)