MybatisPlus代码生成器

MybatisPlus代码生成器

1:什么是MybatisPlus?

MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。 ---- 摘自官网

点击进入官网

2:引入依赖

      <!--mybatis-plus依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.1.tmp</version>
        </dependency>

        <!--代码生成器依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.3.1.tmp</version>
            <scope>test</scope>
        </dependency>

        <!-- 模板引擎代码生成器 -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.0</version>
        </dependency>

3:配置代码生成器


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


/**
 * @author 七月初七
 * @version 1.0
 * @date 2021/7/10 15:51
 */
public class MyBatisPlusGenerator {
    /**
     *  数据库链接
     */
    private static final String DRIVER_NAME = "com.mysql.cj.jdbc.Driver";
    /**
     *  用户名
     */
    private static final String USERNAME = "root";
    /**
     *  密码
     */
    private static final String PASSWORD = "你的密码";
    /**
     * 链接的url
     */
    private static final String JDBC_URL = "jdbc:mysql://localhost:3306/qx?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8";
    /**
     * 项目的绝对路径,从根路径开始,因为相对路径可能会出问题
     */
    private static final String PATH = "E:\\Project\\qycq\\...";
    /**
     * 作者
     */
    private static final String AUTHOR = "七月初七";
    /**
     * 包名
     */
    private static final String PACKAGE = "com.qycq.server";
    /**
     * 实体类
     */
    private static final String ENTITY = "pojo";
    /**
     * mapper
     */
    private static final String MAPPER = "mapper";
    /**
     * controller
     */
    private static final String CONTROLLER = "controller";
    /**
     * service
     */
    private static final String SERVICE = "service";
    /**
     * serviceImpl
     */
    private static final String SERVICE_IMPL = "service.impl";
    /**
     * 根据表名生成多个模块代码
     */
    private static final String[] TABLE_NAME = {"你的表名1","你的表名2","...."};


    public static void main(String[] args) {
        //代码生成器
        AutoGenerator autoGenerator = new AutoGenerator();

        //数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.MYSQL);//指定数据库类型
        dataSourceConfig.setDriverName(DRIVER_NAME);
        dataSourceConfig.setUsername(USERNAME);
        dataSourceConfig.setPassword(PASSWORD);
        dataSourceConfig.setUrl(JDBC_URL);
        autoGenerator.setDataSource(dataSourceConfig);

        //全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOpen(false);
        globalConfig.setFileOverride(false); //重新生成时文件是否覆盖

        globalConfig.setBaseResultMap(true);
        //xml 开启BaseColumnList
        globalConfig.setBaseColumnList(true);
        // 实体属性 Swagger2 注解
        globalConfig.setSwagger2(true);
        //输出路径
        globalConfig.setOutputDir(PATH + "/src/main/java");
        //设置作者名字
        globalConfig.setAuthor(AUTHOR);
        //去掉service的I前缀,一般只需要设置service就行
        globalConfig.setServiceImplName("%sServiceImpl");
        globalConfig.setServiceName("%sService");
        autoGenerator.setGlobalConfig(globalConfig);

        //包配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent(PACKAGE);//自定义包的路径
        packageConfig.setEntity(ENTITY);
        packageConfig.setMapper(MAPPER);
        packageConfig.setController(CONTROLLER);
        packageConfig.setService(SERVICE);
        packageConfig.setServiceImpl(SERVICE_IMPL);
        autoGenerator.setPackageInfo(packageConfig);

        //策略配置
        StrategyConfig strategyConfig = new StrategyConfig();

        //是否使用Lombok
        strategyConfig.setEntityLombokModel(true);
        //生成RestController
        strategyConfig.setRestControllerStyle(true);
        //根据表名生成模块
        strategyConfig.setInclude(TABLE_NAME);
        //去掉表前缀
        strategyConfig.setTablePrefix("t_");
        autoGenerator.setStrategy(strategyConfig);
        //数据库表映射到实体的命名策略
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        //数据库表字段映射到实体的命名策略
        strategyConfig.setColumnNaming(NamingStrategy.no_change);

        //执行
        autoGenerator.execute();

    }
}

4:运行结果

1:控制台运行结果

控制台运行结果

2:代码生成

在这里插入图片描述

3:xml文件

在这里插入图片描述

4:实体类

在这里插入图片描述

5:service实现类

在这里插入图片描述

5:总结

mybatisPlus对于我们的开发无论是从代码生成器还是基本的crud功能都给我们提供好了,我们只需要掉方法即可。这里只是展示mybatisPlus的代码生成器
就不去介绍具体的使用了。有兴趣的小伙伴可以自行查阅官方文档哦~~。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值