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

开发工具:STS

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

版本:

  Springboot:1.5.14.RELEASE

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

  MybatisPlus:2.3

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

前言:

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

构建代码生成器:

1.添加依赖:

(1)代码生成器依赖

(2)Lombok依赖

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

 1          <dependency>
 2             <groupId>org.projectlombok</groupId>
 3             <artifactId>lombok</artifactId>
 4             <version>1.18.0</version>
 5             <scope>provided</scope>
 6         </dependency>
 7         <!-- 添加代码生成器的依赖 -->
 8         <dependency>
 9             <groupId>org.apache.velocity</groupId>
10             <artifactId>velocity-engine-core</artifactId>
11             <version>2.0</version>
12         </dependency>                

2.编写生成器:

 1 package com.xm;
 2 
 3 import org.junit.Test;
 4 
 5 import com.baomidou.mybatisplus.enums.IdType;
 6 import com.baomidou.mybatisplus.generator.AutoGenerator;
 7 import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
 8 import com.baomidou.mybatisplus.generator.config.GlobalConfig;
 9 import com.baomidou.mybatisplus.generator.config.PackageConfig;
10 import com.baomidou.mybatisplus.generator.config.StrategyConfig;
11 import com.baomidou.mybatisplus.generator.config.rules.DbType;
12 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
13 
14 public class MpGenerator {
15     
16     @Test
17     public void create() {
18         
19         String tableName = "user";
20         
21         /**
22          * 配置:
23          * 1.全局配置
24          * 2.数据源配置
25          * 3.策略配置
26          * 4.包名策略配置
27          * 5.整合配置
28          */
29         
30         //1.全局配置
31         GlobalConfig globalConfig = new GlobalConfig();
32         globalConfig
33               //设置代码生成路径
34                .setOutputDir("F:\\xm\\springboot\\Springboot_MybatisPlus\\src\\main\\java")
35                //设置作者
36                .setAuthor("xm")
37                //设置二级缓存的开闭
38                .setEnableCache(false)
39                //设置数据库id自增
40                .setIdType(IdType.AUTO)
41                //设置覆盖更新
42                .setFileOverride(true)
43                //设置去I
44                .setServiceName("%sService")
45                //设置生产结果映射map
46                .setBaseResultMap(true);
47         
48         //2.数据源配置
49        DataSourceConfig dataSourceConfig = new DataSourceConfig();
50        dataSourceConfig
51                    //设置数据库类型
52                    .setDbType(DbType.MYSQL)
53                    .setUrl("jdbc:mysql://10.1.51.31:3306/xm?useSSL=true")
54                    .setUsername("root")
55                    .setPassword("cube1501")
56                    .setDriverName("com.mysql.jdbc.Driver");
57        
58        //3.策略配置
59        StrategyConfig strategyConfig = new StrategyConfig();
60        strategyConfig
61                //开启全局大写命名
62                .setCapitalMode(true)
63                //开启下划线转换
64                .setDbColumnUnderline(true)
65                //开启驼峰命名
66                .setNaming(NamingStrategy.underline_to_camel)
67                .setEntityLombokModel(true)
68                .setInclude(tableName);
69        
70        //4.包名策略配置
71        PackageConfig packageConfig = new PackageConfig();
72        packageConfig
73                .setParent("com.xm")
74                .setController("controller")
75                .setEntity("pojo")
76                .setMapper("mapper")
77                .setService("service")
78                .setServiceImpl("service.impl")
79                .setXml("mapper.xml");
80        
81        //5.整合配置
82        AutoGenerator autoGenerator = new AutoGenerator();
83        autoGenerator
84                .setGlobalConfig(globalConfig)
85                .setDataSource(dataSourceConfig)
86                .setStrategy(strategyConfig)
87                .setPackageInfo(packageConfig);
88        
89        autoGenerator.execute();
90         
91     }
92 
93 }

3.测试运行:


                                            2018-07-19

猜你喜欢

转载自www.cnblogs.com/TimerHotel/p/springboot_mp_03.html