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整合SpringSecurityOauth2实现鉴权动态权限问题

    请听我详细讲解如何使用SpringBoot整合SpringSecurityOauth2实现鉴权动态权限。 简介 OAuth是一种开放标准,它可以为不同的应用程序之间提供安全的认证和授权机制。Spring Security OAuth是Spring Security框架的一部分,通过它可以为您的应用提供OAuth2认证和授权能力。本文将介绍如何使用Spring…

    Java 2023年5月20日
    00
  • Java如何设置系统参数和运行参数

    设置系统参数和运行参数可以帮助Java应用程序更好地运行。以下是Java如何设置系统参数和运行参数的完整攻略: 设置系统参数 可以使用System.setProperty()方法设置系统参数。这个方法接受两个String类型的参数,第一个参数是属性名,第二个参数是属性值。例如,下面的代码段将JVM的代理服务器设置为127.0.0.1: System.setP…

    Java 2023年5月23日
    00
  • Java面向对象之多态

    Java面向对象之多态 Java是一门面向对象的编程语言,其中最重要的特性之一就是多态。多态是指同一个方法或者同一个类,在不同的时间、不同的对象上具有不同的表现形式。下面我们来仔细分析Java中的多态。 引言 Java的多态性分为静态多态和动态多态。 静态多态性是指在编译期就可以确定方法的调用对象,也就是说,在程序编译时已经确定了将要调用的方法。在Java中…

    Java 2023年5月26日
    00
  • Spring超详细讲解事务

    Spring超详细讲解事务 什么是事务 事务是指一个操作序列,该操作序列中的所有操作都必须全部执行成功或全部执行失败。事务支持保证数据库的一致性、完整性和隔离性。 Spring事务的优点 在使用Spring进行数据库操作时,使用Spring事务能够带来以下优点: Spring事务对所有的数据库访问代码提供了一致的编程模型 Spring事务可以将数据库事务的边…

    Java 2023年5月19日
    00
  • java发送邮件示例讲解

    当我们需要在Java应用程序中发送邮件时,可以使用JavaMail API。 JavaMail是一个Java电子邮件API,可用于向收件人发送电子邮件。 它是由Oracle Corporation开发的,并且作为Java EE平台的一部分发布。 要在Java中发送邮件,必须连接到SMTP(简单邮件传输协议)服务器。 JavaMail API提供了JavaMa…

    Java 2023年5月20日
    00
  • Spring框架对于Bean的管理详解

    Spring框架对于Bean的管理详解 在Spring框架中,Bean是应用程序的主要构建块,Spring框架提供了强大且灵活的方式来管理Bean。在本文中,我们将深入探讨如何使用Spring框架管理Bean。 Bean的概念 在Spring框架中,一个Bean是一个被Spring框架管理的Java对象。通过Spring容器,我们可以在应用程序运行时轻松地创…

    Java 2023年5月19日
    00
  • SpringMVC和Ajax的交互详解(手工处理)

    SpringMVC和Ajax的交互详解(手工处理) 在Web开发中,SpringMVC和Ajax的结合使用非常常见。本文将介绍如何使用SpringMVC和Ajax进行交互,并手工处理Ajax请求和响应。 步骤一:创建SpringMVC项目 我们可以使用Maven来创建一个新的SpringMVC项目。在创建项目时,我们需要选择“webapp”类型的项目,并添加…

    Java 2023年5月17日
    00
  • Java中SimpleDateFormat 格式化日期的使用

    当我们需要在Java程序中使用日期时,通常使用SimpleDateFormat类的实例进行日期格式化。这个类主要是用来将日期对象转换成字符串,或者将字符串转换成日期对象。下面是关于SimpleDateFormat的使用攻略: SimpleDateFormat格式化日期的基本用法 SimpleDateFormat类提供一个简单的方式来格式化日期和时间。下面的代…

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