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日

相关文章

  • 在PHP程序中使用Rust扩展的方法

    一、安装Rust环境 要在PHP程序中使用Rust扩展,首先需要在本地安装Rust环境,可以参考Rust官方提供的安装指南在自己电脑上安装。 二、下载安装PHP-CPP PHP-CPP是一个开源的PHP扩展开发工具,可以被用来在PHP程序中集成C++代码,首先需要下载并安装PHP-CPP。 三、编写Rust扩展 在Rust编写扩展之前,我们需要安装cargo…

    other 2023年6月26日
    00
  • cd命令进入d盘

    通过cd命令进入D盘 在Windows操作系统中,D盘通常是指硬盘分区中的一个驱动器,用于存储数据和文件。当你需要在D盘进行某些操作时,需要先进入D盘。本文将介绍如何使用cd命令进入D盘。 什么是cd命令 cd 命令是使用命令行操作系统时经常使用的工具之一,它用于改变当前工作目录。在Windows操作系统中,输入 cd 命令可以更改当前所在的文件夹路径。 进…

    其他 2023年3月28日
    00
  • PyQt5 多窗口连接实例

    下面就给您详细讲解一下“PyQt5 多窗口连接实例”的完整攻略。 简介 在 PyQt5 中,我们可以很容易地实现多窗口连接的效果。通常来说,我们需要将每个窗口作为一个类来实现,并且使用信号和槽来实现它们之间的通信。在本文中,将会实现一个包含多个窗口的小应用程序,通过它,您可以了解到如何实现多窗口连接。 步骤 步骤1 创建主窗口 首先,我们需要创建一个主窗口。…

    other 2023年6月27日
    00
  • 电脑资源管理器的右键上下文菜单打不开的两种解决办法

    以下是详细的攻略: 问题描述 在使用电脑资源管理器时,右键点击文件或文件夹,却无法弹出上下文菜单,或者弹出但是无法选中任何项,这是一个常见的问题。 可能原因 第三方程序添加了不兼容的菜单项导致菜单崩溃。 Windows资源管理器文件缓存损坏导致菜单无法正常加载。 解决方案 解决方案1:通过命令重建缓存 点击“开始菜单”,在搜索栏中输入“cmd”并以管理员权限…

    other 2023年6月27日
    00
  • Users组权限Win7虚拟机继承Administrator的个性化设置

    Users组权限Win7虚拟机继承Administrator的个性化设置的完整攻略 本文将为您提供Users组权限Win7虚拟机继承Administrator的个性化设置的完整攻略,包括介绍、使用方法和两个示例说明。 介绍 在Windows 7虚拟机中,Administrator是具有最高权限的用户,可以对系统进行完全控制。为了保护系统的安全性,需要将Adm…

    other 2023年5月6日
    00
  • sqlcipher.exe提取码

    当然,我很乐意为您提供sqlcipher.exe提取码的完整攻略。以下是详细的步骤和示例: 步骤1:了解sqlcipher.exe提取 sqlcipher.exe提取是用于解密SQLite数据库的工具。它可以通过命令行方式运行,提取码解密加密的数据库文件。 步骤2下载sqlcipher.exe提取码 您可以从sqlcipher官网下载sqlcipher.ex…

    other 2023年5月6日
    00
  • 怎么更改电脑硬盘D盘盘符图标?

    下面是更改电脑硬盘D盘盘符图标的完整攻略。 1. 准备工作 在更改硬盘D盘的盘符图标之前,需要先准备以下两个东西: 自定义的图标文件。可以在网上下载或者自己设计。注意图标文件的格式必须是.ico格式。 注册表编辑器。在 Windows 系统中,可以通过“运行”窗口或者搜索框打开注册表编辑器(regedit)。 2. 更改注册表项 步骤如下: 在注册表中找到 …

    other 2023年6月27日
    00
  • win7 32位和64位有什么区别哪一个好用率高一些

    Win7 32位和64位的区别及选择攻略 区别 架构差异:Win7 32位系统是基于x86架构,而64位系统是基于x64架构。64位系统支持更大的内存寻址空间,可以处理更多的数据,而32位系统则受限于4GB内存寻址上限。 性能差异:64位系统在处理大型应用程序和多任务时表现更出色,因为它可以同时处理更多的数据。而32位系统在处理较小的应用程序和简单任务时可能…

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