3、SpringBoot+MybatisPlus整合-------代码生成器

 <dependency>
     <groupId>org.projectlombok</groupId>
     <artifactId>lombok</artifactId>
     <version>1.18.0</version>
     <scope>provided</scope>
 </dependency>
 <!-- 添加代码生成器的依赖 -->
 <dependency>
     <groupId>org.apache.velocity</groupId>
     <artifactId>velocity-engine-core</artifactId>
     <version>2.0</version>
 </dependency>

开发工具:STS

代码下载链接:Github管理代码

版本:

  Springboot:1.5.14.RELEASE

    使用2.0以上的Springboot,会报出一些异常。欢迎知道异常原因的大牛解惑。

  MybatisPlus:2.3

生成规则请参考:生成规则

前言:

我用过最方便的代码生成器、而且功能真的强大!

构建代码生成器:

1.添加依赖:

(1)代码生成器依赖

(2)Lombok依赖

使用lombok可以减少代码的开发

          <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
             <version>1.18.0</version>
             <scope>provided</scope>
         </dependency>
         <!-- 添加代码生成器的依赖 -->
         <dependency>
             <groupId>org.apache.velocity</groupId>
             <artifactId>velocity-engine-core</artifactId>
             <version>2.0</version>
         </dependency>

2.编写生成器:

 package com.xm;
 
 import org.junit.Test;
 
 import com.baomidou.mybatisplus.enums.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.DbType;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
 
 public class MpGenerator {
     
     @Test
     public void create() {
         
         String tableName = "user";
         
         /**
          * 配置:
          * 1.全局配置
          * 2.数据源配置
          * 3.策略配置
          * 4.包名策略配置
          * 5.整合配置
          */
         
         //1.全局配置
         GlobalConfig globalConfig = new GlobalConfig();
         globalConfig
               //设置代码生成路径
                .setOutputDir("F:\\xm\\springboot\\Springboot_MybatisPlus\\src\\main\\java")
                //设置作者
                .setAuthor("xm")
                //设置二级缓存的开闭
                .setEnableCache(false)
                //设置数据库id自增
                .setIdType(IdType.AUTO)
                //设置覆盖更新
                .setFileOverride(true)
                //设置去I
                .setServiceName("%sService")
                //设置生产结果映射map
                .setBaseResultMap(true);
         
         //2.数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig
                    //设置数据库类型
                    .setDbType(DbType.MYSQL)
                    .setUrl("jdbc:mysql://10.1.51.31:3306/xm?useSSL=true")
                    .setUsername("root")
                    .setPassword("cube1501")
                    .setDriverName("com.mysql.jdbc.Driver");
        
        //3.策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig
                //开启全局大写命名
                .setCapitalMode(true)
                //开启下划线转换
                .setDbColumnUnderline(true)
                //开启驼峰命名
                .setNaming(NamingStrategy.underline_to_camel)
                .setEntityLombokModel(true)
                .setInclude(tableName);
        
        //4.包名策略配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig
                .setParent("com.xm")
                .setController("controller")
                .setEntity("pojo")
                .setMapper("mapper")
                .setService("service")
                .setServiceImpl("service.impl")
                .setXml("mapper.xml");
        
        //5.整合配置
        AutoGenerator autoGenerator = new AutoGenerator();
        autoGenerator
                .setGlobalConfig(globalConfig)
                .setDataSource(dataSourceConfig)
                .setStrategy(strategyConfig)
                .setPackageInfo(packageConfig);
        
        autoGenerator.execute();
         
     }
 
 }

3.测试运行:

图片描述

                                            2018-07-19