最简便的反向类生成方法

需要引入的相关jar包

Maven项目的 pom.xml:

<!-- 整合mybatis -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatisplus-spring-boot-starter</artifactId>
    <version>1.0.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus</artifactId>
    <version>2.3</version>
</dependency>

<!--mybatis代码生成器依赖-->
<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.23</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.5</version>
    <scope>test</scope>
</dependency>

web项目:

web的项目可以去网上mvnrepository仓库地址,可提供相关的依赖地址和jar下载等
在这里插入图片描述

代码生成反向类

引入相关包之后,不用配置xml等相关配置文件,只需要在工具类中配置即可。直接上代码:


package com.example.springboot_demo;

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;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import org.junit.Test;

/**
 * 类名称:GeneratorTest
 * 类描述:TODO
 * 创建人:筱
 * 创建时间:
 * Version 1.0
 */
public class GeneratorTest {

    @Test
    public void generateCode() {
        /*包名*/
        String packageName = "com.example.springboot_demo";
        /*表名*/
        generateByTables(packageName, "test_a");
    }

    private void generateByTables(boolean serviceNameStartWithI, String packageName, String... tableNames) {
        GlobalConfig config = new GlobalConfig();

        /*数据连接地址和数据库名*/
        String dbUrl = "jdbc:mysql://localhost:3306/test1?serverTimezone=GMT";
        DataSourceConfig dataSourceConfig = new DataSourceConfig();

        /*连接的数据库类型:mysql,sqlserver等*/
        dataSourceConfig.setDbType(DbType.MYSQL)
                /*数据库地址*/
                .setUrl(dbUrl)
                /*mysql账号*/
                .setUsername("root")
                /*mysql密码*/
                .setPassword("")
                .setDriverName("com.mysql.cj.jdbc.Driver");
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig
                .setCapitalMode(true)
                .setEntityLombokModel(false)
                .setDbColumnUnderline(true)
                .setNaming(NamingStrategy.underline_to_camel)
                .setTablePrefix("sys_", "qd_")// 此处可以修改为您的表前缀
                .setEntityColumnConstant(false)  // 生成字段常量
                .setInclude(tableNames);        // 修改替换成你需要的表名,多个表名传数组
        config.setActiveRecord(false)
                .setEnableCache(false)  // XML 二级缓存
                .setBaseResultMap(true)
                .setBaseColumnList(true)
                .setAuthor("xiaoZe")  //作者
                .setOutputDir("D:\\Config")    //输出目录
                .setFileOverride(true);
        if (!serviceNameStartWithI) {
            config.setServiceName("%sService");
        }
        new AutoGenerator()
                .setTemplateEngine(new FreemarkerTemplateEngine())
                .setGlobalConfig(config)
                .setDataSource(dataSourceConfig)
                .setStrategy(strategyConfig)
                .setPackageInfo(
                        new PackageConfig()
                                .setParent(packageName)
                                .setController("controller")	//控制层所在的包名
                                .setEntity("entity")		//实体类所在的包名
                ).execute();
    }

    private void generateByTables(String packageName, String... tableNames) {
        generateByTables(true, packageName, tableNames);
    }

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值