MybatisPlusGenerator(3.5.2版)

这是3.5.1以后的版本。属于新版本。旧版本的作废了。官网有写的。
先上依赖:



   com.baomidou
   mybatis-plus-generator
   3.5.2



   org.apache.velocity
   velocity-engine-core
   2.2



   io.springfox
   springfox-swagger2
   2.9.2

mybatis-plus-generatorvelocity-engine-core是必须的。springfox-swagger2可以不用。但是在配置的时候有选项选择是否支持swagger。如果选择的话,也可以创建出来。但是一些swagger的依赖就会报错。所以这个看个人喜好了。
官网就快速版的,都是写死的,就不过多介绍,咱们主要还是看交互版的。
上代码:

main函数:

    private static final String BASE = "com.cloud.demo";

    private static final String URL = "jdbc:mysql://localhost:3306/xxxx?useUnicode=true&useSSL=false&characterEncoding=utf-8&allowMultiQueries=true";

    private static final String USER_NAME = "mysql";

    private static final String PASSWORD = "123456";

    public static void main(String[] args) {
        FastAutoGenerator.create(initDataSourceConfig())
                .globalConfig(MybatisPlusGenerator::initGlobalConfig)
                .packageConfig(MybatisPlusGenerator::initPackageConfig)
                .strategyConfig(MybatisPlusGenerator::initStrategyConfig)
                // 使用Freemarker引擎模板,默认的是Velocity引擎模板
//            .templateEngine(new FreemarkerTemplateEngine())
                .execute();
    }

没什么可说的吧。简单明了。为了更清晰,各个方面的配置都单独写的初始化方法。

初始化数据源
    /**
     * 初始化数据源
     */
    private static DataSourceConfig.Builder initDataSourceConfig() {
        return new DataSourceConfig.Builder(URL, USER_NAME, PASSWORD)
                .dbQuery(new MySqlQuery())
                .typeConvert(new MySqlTypeConvert())
                .keyWordsHandler(new MySqlKeyWordsHandler());
    }

配上自己的数据库相关参数。其他几个都默认就OK。

初始化包配置
     /**
     * 初始化包配置
     */
    private static void initPackageConfig(Function scanner, PackageConfig.Builder builder) {
        builder.parent(BASE)
                .moduleName(scanner.apply("请输入模块名:"))
//                .entity("po")
//                .service("service")
//                .serviceImpl("service.impl")
//                .mapper("mapper")
//                .xml("mapper.xml")
//                .controller("controller")
//                .other("other")
                .pathInfo(Collections.singletonMap(OutputFile.xml, PROJECT_PATH + "/src/main/resources/mapper/"));
    }

注掉的都是有默认的。就是我们没一层叫什么名字,应该都能看的出来。如果想叫其他名字的可以该,就比如.entity("po"),创建出来的entity文件夹就叫po了。
pathInfo修改的就是指定类型文件的输出路径。如果不写的话就使用global Config的文件输出路径。

初始化策略配置
    /**
     * 初始化策略配置
     */
    private static void initStrategyConfig(Function scanner, StrategyConfig.Builder builder) {
        builder.addInclude(scanner.apply("请输入表名,多个英文逗号分割:"));
    }

这里就增加了手动输入表名的地方,其他的全用了默认设置,一般情况下也都OK。

初始化公共配置
    /**
     * 初始化公共配置
     */
    private static void initGlobalConfig(GlobalConfig.Builder builder) {
        builder.author("San.Zhang")
//                .enableSwagger()
                // 指定输出目录
                .outputDir(PROJECT_PATH + "/src/main/java")
                // 文件头时间
                .commentDate("yyyy-MM-dd HH:mm:ss")
                // 是否打开文件
                .disableOpenDir();
    }

公共配置,增加全局文件输出路径、文件头时间格式、创建完成后是否打开文件等等~~~

总结:

基本上好些地方用的都是默认设置,因为一般情况下都是够用的,如果有特殊情况可以看需求修改设置。
附上官网参数配置详解:官网配置参数详解

你可能感兴趣的:(MybatisPlusGenerator(3.5.2版))