MybatisPlus_Generator

逆向工程

Mybatis-Plus是基于数据库表来实现自动生成代码的逆向工程。通过代码生成器生成代码后,可以在生成的代码中直接使用Mybatis-plus

依赖

<!--mybatis-plus-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.2</version>
</dependency>
<!--逆向工程生成器-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.5.1</version>
</dependency>
<!-- 模板引擎 -->
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.0</version>
</dependency>

代码

package generate;
​
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
​
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
​
/**
 * 逆向工程
 *
 * @author lihongliang
 * @since 2024/1/5 14:07
 */
public class MPGenerator {
    private static final String URL = "jdbc:mysql://localhost:3306/table?useSSL=false&characterEncoding=UTF8&serverTimezone=Asia/Shanghai";
    private static final String USER_NAME = "root";
    private static final String PASSWORD = "root";
    /**
     * author
     */
    private static final String AUTHOR = "lee";
    /**
     * 父包parent
     */
    private static final String PARENT = "com.lee";
    /**
     * 模块moduleName
     */
    private static final String MODULE_NAME = "core";
    /**
     * 过滤前缀TablePrefix
     */
    private static final String PREFIX = "tb_";
    /**
     * 过滤前缀TableSuffix
     */
    private static final String SUFFIX = "";
    /**
     * 表名,逗号隔开
     */
    private static final String TABLE_NAMES = "tb_address,tb_user";
​
    public static void main(String[] args) {
        // 获取项目所在路径
        String path = System.getProperty("user.dir");
        FastAutoGenerator.create(URL, USER_NAME, PASSWORD)
                .globalConfig(builder -> {
                    builder.author(AUTHOR)
                            .enableSwagger()
                            .fileOverride()
                            // .outputDir(path + "/src/main/java")
                            .outputDir("D://generate")
                            .build();
                })
                .packageConfig(builder -> {
                    builder.parent(PARENT)
                            .entity("pojo")
                            .moduleName(MODULE_NAME) // 设置父包模块名
                            .service("service")
                            // .pathInfo(Collections.singletonMap(OutputFile.mapperXml, path + "/src/main/resources/mapper"))
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://generate"))
                            .build();
                })
                .strategyConfig(builder -> {
                    builder.entityBuilder()
                            .enableTableFieldAnnotation()
                            .enableLombok()
                            .enableRemoveIsPrefix();
                    builder.controllerBuilder()
                            .enableRestStyle();
​
                    builder.serviceBuilder()
                            .formatServiceFileName("%sService");
​
                    builder.addInclude(getTables())
                            .addTablePrefix(PREFIX);
                })
                // .templateEngine(new FreemarkerTemplateEngine())
                // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }
​
    protected static List<String> getTables() {
        return Arrays.asList(MPGenerator.TABLE_NAMES.split(","));
    }
}

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MybatisPlus是一个基于Mybatis的增强工具,可以简化Mybatis开发流程。MybatisPlus提供了一个代码生成器,可以根据数据库表自动生成对应的实体类、Mapper接口以及XML文件。 使用MybatisPlus的代码生成器需要进行以下步骤: 1. 在pom.xml文件中添加MybatisPlus的依赖: ``` <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.2</version> </dependency> ``` 2. 编写代码生成器的配置文件,例如: ``` package com.example.mybatisplusdemo.config; 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; public class CodeGenerator { public static void main(String[] args) { // 代码生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir(System.getProperty("user.dir") + "/src/main/java"); gc.setAuthor("C知道"); gc.setOpen(false); gc.setFileOverride(true); gc.setServiceName("%sService"); gc.setIdType(IdType.AUTO); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/mybatisplus_demo?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("123456"); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.example.mybatisplusdemo"); pc.setModuleName("generator"); mpg.setPackageInfo(pc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityLombokModel(true); strategy.setRestControllerStyle(true); strategy.setInclude("user"); // 需要生成的表名 mpg.setStrategy(strategy); // 执行生成 mpg.execute(); } } ``` 3. 运行代码生成器的main方法即可生成代码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值