MyBatis-Plus自动生成各层代码实践

        MyBatis-Plus是一个MyBatis框架的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。

        本文将与大家分享、演示项目中很实用的代码生成。

1.新建项目、引入依赖

项目结构图如下:

                              MyBatis-Plus自动生成各层代码实践_第1张图片

2.编写生成类MyBatisPlusGenerator

源码如下:

package com.ldl.cn;

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.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

public class MyBatisPlusGenerator {
    
    public static void main(String[] args) {
                    //全局配置
                  GlobalConfig globalConfig = new GlobalConfig();
                  globalConfig.setActiveRecord(false)
                        .setAuthor("Dalin Lu")
                        .setOutputDir("D:\\workspace\\TestMybatisPlus\\src\\main\\java")
                        .setFileOverride(true)
                        .setServiceName("%sService")
                        .setBaseResultMap(true)
                        .setBaseColumnList(true);
         
                      //数据源配置
                  DataSourceConfig  dataSourceConfig  = new DataSourceConfig();
                  dataSourceConfig.setDbType(DbType.MYSQL)
                         .setDriverName("com.mysql.cj.jdbc.Driver")
                         .setUrl("jdbc:mysql://localhost:3306/mytest?useUnicode=true&useSSL=false&serverTimezone=UTC")
                         .setUsername("root")
                         .setPassword("****");
         
                     //策略配置
                 StrategyConfig strategyConfig = new StrategyConfig();
                 strategyConfig.setCapitalMode(true)
                         .setDbColumnUnderline(true)
                         .setNaming(NamingStrategy.underline_to_camel)
                        .setInclude(new String[]{"student"});  // 生成的表,可同时传入多个表名
         
                         //包名策略配置
                 PackageConfig packageConfig = new PackageConfig();
                 packageConfig.setParent("com.ldl.cn")
                         .setMapper("dao")
                         .setService("service")
                         .setController("controller")
                         .setEntity("entity")
                         .setXml("mapper");
         
                         //整合配置
                 AutoGenerator  ag = new AutoGenerator();
                     ag.setGlobalConfig(globalConfig)
                         .setDataSource(dataSourceConfig)
                       .setStrategy(strategyConfig)
                       .setPackageInfo(packageConfig);
                         
                         //执行
                         ag.execute();
             }
}

3.测试生成

运行结果:

                 MyBatis-Plus自动生成各层代码实践_第2张图片

OK!各层代码成功生成!

你可能感兴趣的:(MyBatis,Plus)