Mybatis Plus 代码生成器的实现

MyBatis Plus 是 MyBatis 的增强工具,在 MyBatis 的基础上新增了很多实用的功能,其中的代码生成器可以帮助我们快速生成基础的代码,提升开发效率。

MyBatis Plus 代码生成器是通过配置数据库连接信息、配置表、配置输出路径等,生成对应的 Java 代码,包括实体类、DAO 接口、以及对应的 XML 映射文件,同时也支持生成 Controller、Service、ServiceImpl 等代码。

以下是 MyBatis Plus 代码生成器实现的详细攻略:

1. 添加依赖

在 maven 项目中,我们需要将 MyBatis Plus 代码生成器添加到 pom.xml 中:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.2.0</version>
</dependency>

2. 编写代码生成器类

编写代码生成器类,通过配置数据库连接信息、配置表、配置输出路径等,生成对应的 Java 代码。

public class CodeGenerator {

    // 数据库 URL
    private static final String URL = "jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC";
    // 数据库驱动
    private static final String DRIVER_NAME = "com.mysql.cj.jdbc.Driver";
    // 数据库用户名
    private static final String USERNAME = "root";
    // 数据库密码
    private static final String PASSWORD = "123456";
    // 代码生成包名
    private static final String PACKAGE_NAME = "com.example.demo";
    // 代码生成输出路径
    private static final String OUTPUT_DIR = "src/main/java";
    // 作者
    private static final String AUTHOR = "zhangsan";

    public static void main(String[] args) {
        // 代码生成器
        AutoGenerator generator = new AutoGenerator();
        // 全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir(System.getProperty("user.dir") + "/" + OUTPUT_DIR);
        globalConfig.setAuthor(AUTHOR);
        globalConfig.setOpen(false); // 生成完代码后是否打开输出目录
        generator.setGlobalConfig(globalConfig);
        // 数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setUrl(URL);
        dataSourceConfig.setDriverName(DRIVER_NAME);
        dataSourceConfig.setUsername(USERNAME);
        dataSourceConfig.setPassword(PASSWORD);
        generator.setDataSource(dataSourceConfig);
        // 包配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent(PACKAGE_NAME);
        generator.setPackageInfo(packageConfig);
        // 配置需要生成代码的表名
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setInclude("user", "order"); // 需要生成代码的表名
        generator.setStrategy(strategyConfig);
        // 执行生成代码操作
        generator.execute();
    }
}

以上是一个简单的代码生成器类的示例。代码中需要修改的参数有:数据库 URL、数据库驱动、数据库用户名、数据库密码、代码生成包名、代码生成输出路径、需要生成代码的表名。根据实际情况进行修改。

3. 执行代码生成器

执行代码生成器,将会在指定输出路径生成对应的 Java 代码文件。在命令行中运行项目,在代码生成器类中调用 generator.execute() 方法即可完成生成。

示例一:生成 user 表的代码

修改代码生成器类中的 main 方法,将需要生成代码的表名改为 user

public static void main(String[] args) {
    // 代码生成器
    AutoGenerator generator = new AutoGenerator();
    // 全局配置
    GlobalConfig globalConfig = new GlobalConfig();
    globalConfig.setOutputDir(System.getProperty("user.dir") + "/" + OUTPUT_DIR);
    globalConfig.setAuthor(AUTHOR);
    globalConfig.setOpen(false); // 生成完代码后是否打开输出目录
    generator.setGlobalConfig(globalConfig);
    // 数据源配置
    DataSourceConfig dataSourceConfig = new DataSourceConfig();
    dataSourceConfig.setUrl(URL);
    dataSourceConfig.setDriverName(DRIVER_NAME);
    dataSourceConfig.setUsername(USERNAME);
    dataSourceConfig.setPassword(PASSWORD);
    generator.setDataSource(dataSourceConfig);
    // 包配置
    PackageConfig packageConfig = new PackageConfig();
    packageConfig.setParent(PACKAGE_NAME);
    generator.setPackageInfo(packageConfig);
    // 配置需要生成代码的表名
    StrategyConfig strategyConfig = new StrategyConfig();
    strategyConfig.setInclude("user"); // 需要生成代码的表名
    generator.setStrategy(strategyConfig);
    // 执行生成代码操作
    generator.execute();
}

执行代码生成器,将会在指定输出路径生成对应的 Java 代码文件,其中包括:User.javaUserMapper.javaUserMapper.xmlUserService.javaUserServiceImpl.java

示例二:生成 order 表的代码

修改代码生成器类中的 main 方法,将需要生成代码的表名改为 order

public static void main(String[] args) {
    // 代码生成器
    AutoGenerator generator = new AutoGenerator();
    // 全局配置
    GlobalConfig globalConfig = new GlobalConfig();
    globalConfig.setOutputDir(System.getProperty("user.dir") + "/" + OUTPUT_DIR);
    globalConfig.setAuthor(AUTHOR);
    globalConfig.setOpen(false); // 生成完代码后是否打开输出目录
    generator.setGlobalConfig(globalConfig);
    // 数据源配置
    DataSourceConfig dataSourceConfig = new DataSourceConfig();
    dataSourceConfig.setUrl(URL);
    dataSourceConfig.setDriverName(DRIVER_NAME);
    dataSourceConfig.setUsername(USERNAME);
    dataSourceConfig.setPassword(PASSWORD);
    generator.setDataSource(dataSourceConfig);
    // 包配置
    PackageConfig packageConfig = new PackageConfig();
    packageConfig.setParent(PACKAGE_NAME);
    generator.setPackageInfo(packageConfig);
    // 配置需要生成代码的表名
    StrategyConfig strategyConfig = new StrategyConfig();
    strategyConfig.setInclude("order"); // 需要生成代码的表名
    generator.setStrategy(strategyConfig);
    // 执行生成代码操作
    generator.execute();
}

执行代码生成器,将会在指定输出路径生成对应的 Java 代码文件,其中包括:Order.javaOrderMapper.javaOrderMapper.xmlOrderService.javaOrderServiceImpl.java

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis Plus 代码生成器的实现 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 利用Springboot实现Jwt认证的示例代码

    本文将为大家详细讲解如何使用Spring Boot实现JWT认证,并提供两个示例说明。请按照下面的步骤操作。 前置条件 在开始之前,您需要了解: Java及其相关技术(Java web开发、Spring Boot框架等); JWT(JSON Web Token)认证方式的基本概念和使用方法。 步骤 1. 添加依赖 请在您的项目中添加Spring Securi…

    Java 2023年5月31日
    00
  • java Gui实现肯德基点餐收银系统

    Java Gui实现肯德基点餐收银系统 1. 简介 本攻略旨在介绍如何使用Java Gui实现肯德基点餐收银系统。 2. 技术框架 本文使用如下技术框架: Java: JDK 1.8及以上版本 Swing: Java的GUI组件库 Eclipse: Java开发IDE 3. 实现步骤 3.1. 搭建开发环境 首先,需要在计算机上安装JDK和Eclipse。 …

    Java 2023年5月30日
    00
  • springboot如何统一设置时区

    当使用Spring Boot运行Java应用程序时,可以很容易地设置应用程序的时区。下面是如何进行设置的攻略: 导入依赖 在Maven项目中,需要添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring…

    Java 2023年5月20日
    00
  • Java SE 9 多版本兼容 JAR 包示例

    Java SE 9 引入了所谓的“模块化系统”,这种模块化系统使得应用程序的开发、部署和维护变得更为集中化和易于管理。然而,这也引发了一个问题:当在 Java SE 9 环境下编写应用程序时,如何使它在 Java SE 8 或更早的版本上运行呢? 为了解决这个问题,Java SE 9 新增了多版本兼容 JAR 包的功能,即使你的应用程序在 Java SE 9…

    Java 2023年6月2日
    00
  • Java自定义一个变长数组的思路与代码

    首先我们来讲一下如何自定义一个变长数组。 思路 实现一个变长数组需要将数据存储在连续的内存空间中,并能够对数组的大小进行动态调整。具体实现中,我们需要考虑以下几点: 数组的存储:数组需要存储在内存空间中,可以使用Java中的数组或对象来存储。 数组的大小:数组大小的动态调整可以通过重新分配内存空间实现。 数组的操作:支持向数组中插入、删除、修改元素,以及获取…

    Java 2023年5月26日
    00
  • Java+Tomcat 环境部署及安装过程图解

    以下是Java + Tomcat环境部署及安装过程的完整攻略。 环境要求 在开始之前,确保你的系统中已经安装了Java和Tomcat,并且已经配置好了环境变量。 环境配置 Java环境配置 下载Java安装包。你可以在Oracle官网上找到Java SE Development Kit (JDK)的最新版本。 双击安装包并按照提示完成安装。 配置JAVA_H…

    Java 2023年5月20日
    00
  • servlet的url-pattern匹配规则详细描述(小结)

    当用tomcat作为web服务器时,在web.xml文件里配置servlet时需要指定url-pattern,它表示客户端请求的url与该servlet匹配的规则。servlet的url-pattern支持多种方式匹配,如下所示。 精确匹配 servlet的url-pattern可以配置具体的url,例如: <servlet> <servl…

    Java 2023年6月15日
    00
  • Go Java算法之比较版本号方法详解

    Go Java算法之比较版本号方法详解 背景介绍 在开发中,我们常常需要进行版本号的比较,确定版本号的先后顺序,来判断是否需要进行升级等操作。本文将详细介绍如何使用 Go 和 Java 语言进行版本号比较,包括一个简单的版本号比较示例和一个实际应用场景中的版本号比较示例。 版本号比较方法 为了比较两个版本号的大小,我们需要对版本号进行拆分,并将每个部分进行比…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部