0
点赞
收藏
分享

微信扫一扫

Mybatis-plus的代码生成器(AutoGenerator)的使用

穆风1818 2022-03-11 阅读 126

一、AutoGenerator作用

通过AutoGenerator可以快速的生成Entity、Mapper、Mapper.xml、Service、ServiceImpl、Controller等各个模块的代码,极大的提高了开发效率。

二、在springboot中如何使用AutoGenerator

1、在springboot中需要引入的依赖

<!--Mybatis-plus的代码生成器-->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
        <version>3.5.0</version>
    </dependency>
 <!--添加 模板引擎 依赖,MyBatis-Plus 支持 Velocity(默认)、Freemarker、Beetl,用户可以选择自己熟悉的模板引擎,如果都不满足您的要求,可以采用自定义模板引擎-->
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
        <version>2.3</version>
    </dependency>
     <!--数据库连接-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.35</version>
    </dependency>

2、在springboot项目中的src/test包下新建一个MybatisPlus_Generator类,内容如下:

package study.wang.springbootgenerator;

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

public class MybatisPlus_Generator {
    public static void main(String[] args) {
        //创建generator对象
        AutoGenerator autoGenerator = new AutoGenerator();

    //数据源配置
    DataSourceConfig dataSourceConfig = new DataSourceConfig();
    dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/market?useUnicode=true&useSSL=false&characterEncoding=utf8");
    dataSourceConfig.setDriverName("com.mysql.jdbc.Driver");
    dataSourceConfig.setUsername("root");
    dataSourceConfig.setPassword("root");
    autoGenerator.setDataSource(dataSourceConfig);


    // 全局配置
    GlobalConfig globalConfig = new GlobalConfig();
    //globalConfig.setOutputDir("F:/generator/src/main/java");
    globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java"); //项目生成的路径
    globalConfig.setAuthor("wang");               // 设置作者
    globalConfig.setOpen(false);                  //创建好后是否打开文件夹
    globalConfig.setFileOverride(true);           // 是否覆盖原来生成的代码,默认为false
    globalConfig.setDateType(DateType.ONLY_DATE);  //关于日期类型的设置
    globalConfig.setControllerName("%sController"); // 自定义文件命名,注意 %s 会自动填充表实体属性!
    globalConfig.setServiceName("%sService");        // 默认service接口名IXXXService 自定义指定之后就不会用I开头了
    globalConfig.setServiceImplName("%sServiceImpl");
    globalConfig.setMapperName("%sMapper");
    globalConfig.setXmlName("%sMapper");
    autoGenerator.setGlobalConfig(globalConfig);

    // 包配置
    PackageConfig packageConfig = new PackageConfig();
    packageConfig.setParent("study.wang.springbootgenerator");            //设置包名
    packageConfig.setModuleName(null);            //设置模块名
    packageConfig.setController("controller");
    packageConfig.setService("service");
    packageConfig.setServiceImpl("service.impl");
    packageConfig.setMapper("mapper");
    packageConfig.setEntity("entity");
    packageConfig.setXml("mapper.xml");
    autoGenerator.setPackageInfo(packageConfig);


    // 策略配置
    StrategyConfig strategy = new StrategyConfig();
    strategy.setEntityLombokModel(true);                      //添加Lombok注解
    // strategy.setTablePrefix(new String[] { "sys_" });      // 此处可以修改为您的表前缀
    strategy.setNaming(NamingStrategy.underline_to_camel);     // 表名生成策略(下划线转驼峰)
    strategy.setColumnNaming(NamingStrategy.underline_to_camel); //列名生成策略(下划线转驼峰)
    //strategy.setInclude("user");                              // 需要生成的数据表的名称(如果不写这一行,将默认创建这个数据库中所有的表)
    autoGenerator.setStrategy(strategy);

    // 执行生成
    autoGenerator.execute();
    }
}

3、运行MybatisPlus_Generator类中的main()方法即可生成对应的文件(注意:类中的各种配置信息)

举报

相关推荐

0 条评论