SpringBoot项目使用mybatis-plus逆向自动生成全套代码

Spring Boot项目使用MyBatis-Plus逆向自动生成全套代码攻略

1. 确保环境搭建

确保已经搭建好以下环境:

  • JDK 8+
  • Maven
  • Spring Boot
  • MyBatis-Plus

2. 配置数据库连接

在Spring Boot项目的application.propertiesapplication.yml文件中配置数据库连接信息,例如:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: root

3. 引入MyBatis-Plus依赖

pom.xml中,引入MyBatis-Plus的依赖:

<!-- MyBatis-Plus -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>最新版本</version>
</dependency>

请确保将最新版本号替换为实际的版本号。

4. 配置代码生成器

创建一个配置类,用于配置代码生成器。可以在该类中设置要生成的实体类、Mapper接口和XML文件的目录等。

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

public class CodeGenerator {

    public static void main(String[] args) {
        // 1. 创建代码生成器
        AutoGenerator generator = new AutoGenerator();

        // 2. 全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
        globalConfig.setAuthor("作者名字");
        globalConfig.setOpen(false);
        globalConfig.setIdType(IdType.AUTO);
        generator.setGlobalConfig(globalConfig);

        // 3. 数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/mydb");
        dataSourceConfig.setDriverName("com.mysql.jdbc.Driver");
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("root");
        dataSourceConfig.setDbType(DbType.MYSQL);
        generator.setDataSource(dataSourceConfig);

        // 4. 包配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.example.myproject");
        packageConfig.setModuleName("module");
        generator.setPackageInfo(packageConfig);

        // 5. 策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setSuperEntityClass("com.example.myproject.common.BaseEntity");
        strategyConfig.setEntityLombokModel(true);
        strategyConfig.setRestControllerStyle(true);
        strategyConfig.setControllerMappingHyphenStyle(true);
        strategyConfig.setEntityTableFieldAnnotationEnable(true);
        strategyConfig.setLogicDeleteFieldName("deleted");
        strategyConfig.setVersionFieldName("version");
        strategyConfig.setInclude("table1", "table2"); // 设置要生成的表名
        strategyConfig.setTablePrefix(packageConfig.getModuleName() + "_");
        generator.setStrategy(strategyConfig);

        // 6. 模板引擎配置
        generator.setTemplateEngine(new FreemarkerTemplateEngine());

        // 7. 执行代码生成器
        generator.execute();
    }
}

请根据实际需求修改配置参数。

5. 生成代码

运行CodeGenerator类的main方法,MyBatis-Plus将根据配置生成实体类、Mapper接口和XML文件。代码默认会生成在指定的输出目录下。

示例1:生成单表的代码

假设有一张名为user的用户表,我们想要生成与之对应的代码。

  1. CodeGenerator类的main方法中,将以下代码添加到策略配置中:
strategyConfig.setInclude("user");
  1. 运行CodeGenerator类的main方法,代码生成器将根据配置自动生成User实体类、UserMapper接口和UserMapper.xml文件。

示例2:生成多表的代码

假设有两张名为userrole的表,我们想要生成与之对应的代码。

  1. CodeGenerator类的main方法中,将以下代码添加到策略配置中:
strategyConfig.setInclude("user", "role");
  1. 运行CodeGenerator类的main方法,代码生成器将根据配置自动生成UserRole两个实体类、UserMapperRoleMapper两个接口以及对应的XML文件。

总结

通过以上步骤,我们可以使用MyBatis-Plus的代码生成器快速生成与数据库表对应的实体类、Mapper接口和XML文件。这样可以减少手动编写重复代码的工作量,提高开发效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot项目使用mybatis-plus逆向自动生成全套代码 - Python技术站

(0)
上一篇 2023年6月28日
下一篇 2023年6月28日

相关文章

  • 有关perl的内置特殊变量介绍

    Perl内置特殊变量介绍攻略 Perl是一种功能强大的编程语言,它提供了许多内置的特殊变量,这些变量在编写Perl脚本时非常有用。下面是一些常用的Perl内置特殊变量的介绍和示例说明。 1. $_ $_是Perl中最常用的特殊变量之一,它表示默认变量。当没有指定变量时,Perl会默认使用$_。它在循环和许多内置函数中经常使用。 示例1:在循环中使用$_ my…

    other 2023年8月9日
    00
  • zigbee和z-wave的区别与未来

    Zigbee和Z-Wave的区别 Zigbee和Z-Wave都是无线通信协议,用于智能家居设备之间的通信。它们的主要区别在于以下几个方面: 1. 工作频段 Zigbee和Z-Wave使用不同的频段进行通信。Zigbee使用2.4GHz频段,而Z-Wave使用900MHz频段。这意味着Z-Wave在穿墙能力和信号传输距离方面更好,但Zigbee在信道数量和带宽…

    other 2023年5月7日
    00
  • 在命令行(dos)下收发邮件的方法

    在命令行下收发邮件是非常方便的,下面是详细的攻略: 安装邮件客户端 首先,你需要安装邮件客户端,Unix/Linux系统下经典的邮件客户端是mailx和mutt,Windows系统下可以使用Blat或bmail等客户端,你需要去对应的官方网站下载并安装。 配置SMTP服务器 然后,你需要配置SMTP服务器,根据你的邮件服务商提供的信息设置SMTP服务器和端口…

    other 2023年6月26日
    00
  • Python字符串对象实现原理详解

    Python字符串对象是Python中的一种数据类型,它封装了字符串的相关操作,并提供了丰富的内置函数供我们使用。 1. 字符串对象的内部结构 Python字符串对象的内部结构由两个部分组成,即字符串头和字符串体。字符串头是一个结构体,它主要记录了字符串的长度、引用计数以及字符串的类型等信息。而字符串体则是一个字符数组,用来存储实际的字符串内容。 下面是一个…

    other 2023年6月20日
    00
  • 如何通过Battery Historian分析Android APP耗电情况

    关于如何通过Battery Historian分析Android APP耗电情况,我为您总结了以下完整攻略。 1. Battery Historian简介 Battery Historian是一款由Google开发的一款分析Android APP电量消耗情况的工具,它可以帮助Android开发者了解APP在运行过程中耗电的原因,包括使用CPU,网络,传感器,…

    other 2023年6月27日
    00
  • sourceTree初识

    sourceTree初识 什么是sourceTree? SourceTree是一款免费的Git和Mercurial版本控制系统,它可以帮助开发人员在一个友好的UI界面中管理代码,方便地进行版本控制和代码同步。在Windows和Mac OS X上都有官方的客户端提供下载,并提供免费的Git和Mercurial版本库托管服务。 sourceTree的安装 如果你…

    其他 2023年3月28日
    00
  • Excel如何设置减少加载项?Excel设置减少加载项教程

    Excel如何设置减少加载项?Excel设置减少加载项教程 如果你经常使用Excel,你可能已经发现Excel启动慢,这通常是因为加载了过多的插件和扩展程序。这篇文章将为你详细介绍如何设置Excel减少加载项,让Excel启动速度更快。 步骤一:打开Excel选项 首先,在Excel的主菜单中选择“文件”>“选项”。这将打开Excel选项对话框。 步骤…

    other 2023年6月25日
    00
  • Android数据双向绑定原理实现和应用场景

    Android数据双向绑定原理实现和应用场景攻略 1. 什么是Android数据双向绑定 Android数据双向绑定是一种机制,它允许数据模型和用户界面之间的自动同步。当数据模型发生变化时,界面会自动更新;反之,当用户在界面上进行操作时,数据模型也会相应地更新。 2. 实现Android数据双向绑定的原理 实现Android数据双向绑定的原理主要涉及以下几个…

    other 2023年9月6日
    00
合作推广
合作推广
分享本页
返回顶部