Mybatis Plus插件三种方式的逆向工程的使用

下面是Mybatis Plus插件三种方式的逆向工程的使用攻略:

一、准备工作

首先,我们需要在使用Mybatis Plus之前构建一个SpringBoot项目,并且引入Mybatis Plus相关的依赖。

<!-- 引入Mybatis Plus核心依赖 -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.0.6</version>
</dependency>
<!-- 引入Mybatis Plus逆向工程插件 -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.4.2</version>
</dependency>

同时,我们需要在application.properties中配置数据库相关的信息。

二、使用Mybatis Plus的CodeGenerator类

Mybatis Plus提供了一个名为CodeGenerator的类,通过使用该类,我们可以快速生成基于数据库表的Java实体类、Mapper接口、Service层、Controller层等代码。

1. 配置CodeGenerator类

在主类中新增一个配置类,用于配置CodeGenerator,并添加相关的参数。

@Configuration
public class MybatisPlusConfig {

    @Autowired
    private DataSource dataSource;

    @Bean
    public CodeGenerator generateCode() {
        CodeGenerator generator = new CodeGenerator();
        // 数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.MYSQL)
                .setUrl("jdbc:mysql://localhost:3306/mybatis_plus_demo?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai")
                .setUsername("root")
                .setPassword("root");
        generator.setDataSource(dataSourceConfig);
        // 全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        globalConfig.setOutputDir(projectPath + "/src/main/java")
                .setAuthor("自己的名字")
                .setFileOverride(false);
        generator.setGlobalConfig(globalConfig);
        // 策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setInclude("t_user"); // 只生成t_user表
        generator.setStrategy(strategyConfig);
        // 包配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.example.mybatisplusdemo")
                .setEntity("entity")
                .setMapper("mapper")
                .setService("service")
                .setServiceImpl("service.impl")
                .setController("controller");
        generator.setPackageInfo(packageConfig);
        return generator;
    }
}

以上代码中,我们通过DataSourceConfig类配置了数据库连接信息,GlobalConfig类定义了代码生成后的文件路径、作者信息和是否覆盖重复的文件,StrategyConfig类定义了需要生成的表和需要排除的表,PackageConfig类定义了生成的代码包的路径和命名方式。

2. 使用CodeGenerator类

完成配置后,我们在main方法中,使用以下代码即可生成代码:

public static void main(String[] args) {
    SpringApplication.run(MybatisPlusDemoApplication.class, args);
    // 执行代码生成器
    ApplicationContext context = new AnnotationConfigApplicationContext(MybatisPlusConfig.class);
    CodeGenerator generator = context.getBean(CodeGenerator.class);
    generator.execute();
}

以上代码执行后,我们可以在指定的包中获取到生成的代码,可以看到在com.example.mybatisplusdemo路径下生成了entity、mapper、service、controller四个包,并且分别对应有自动生成的Java文件。

三、使用Mybatis Plus的代码生成器MysqlGenerator类

Mybatis Plus还提供了一个官方给出的逆向工程代码生成器MysqlGenerator类。使用该类可以生成基于数据库的完整的Java代码块,也是Mybatis Plus强烈推荐的逆向工程方法。

1. 配置MysqlGenerator类

和上一章节类似,我们同样需要在主类中新增一个配置类,用于配置MysqlGenerator。

@Configuration
public class MybatisPlusConfig {

    @Autowired
    private DataSource dataSource;

    @Bean
    public MysqlGenerator mysqlGenerator() {
        MysqlGenerator mysqlGenerator = new MysqlGenerator(dataSource, new SimpleCustomizer());
        mysqlGenerator.setTableNames(Arrays.asList("t_user"));
        return mysqlGenerator;
    }
}

以上代码中,我们通过SimpleCustomizer类实现了自定义的代码生成器,Arrays.asList("t_user")则表示只生成t_user表的代码。

2. 使用MysqlGenerator类

在main方法中,使用以下代码即可生成代码:

public static void main(String[] args) {
    SpringApplication.run(MybatisPlusDemoApplication.class, args);
    // 执行代码生成器
    ApplicationContext context = new AnnotationConfigApplicationContext(MybatisPlusConfig.class);
    MysqlGenerator generator = context.getBean(MysqlGenerator.class);
    generator.run();
}

以上代码执行后,我们可以在指定的包中获取到生成的代码。

四、使用Mybatis Plus的MybatisCodeGenerator插件

使用Mybatis Plus的插件MybatisCodeGenerator是另一种逆向工程方法,它是通过在IDEA中安装MybatisCodeGenerator插件,然后在IDEA中的编辑器内执行命令来生成代码。该插件提供了语法高亮、代码补全、自定义标签的支持,并且可以自定义生成的XML文件配置。

1. 安装MybatisCodeGenerator插件

在IDEA内搜索插件Marketplace,然后搜索MybatisCodeGenerator插件,安装即可。

2. 使用MybatisCodeGenerator插件

找到需要逆向工程的Mapper映射XML文件,右键点击该文件,选择MybatisCodeGenerator -> Generate By Table Config来生成代码即可。

以上就是Mybatis Plus插件三种方式的逆向工程的使用攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis Plus插件三种方式的逆向工程的使用 - Python技术站

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

相关文章

  • Maven最佳实践之一个好的parent依赖基础

    “Maven最佳实践之一个好的parent依赖基础”是指在使用Maven构建项目时,良好的父依赖是保证项目构建质量、维护成本及后期升级的重要因素。下面我将详细讲解“Maven最佳实践之一个好的parent依赖基础”的完整攻略。 什么是一个好的parent依赖 一个好的parent依赖应符合以下原则: 遵循单一职责原则:父依赖只应提供共通性的配置和依赖,而不应…

    Java 2023年5月20日
    00
  • JAVA得到数组中最大值和最小值的简单实例

    当我们需要在一个数组中寻找最大值或最小值时,我们可以采用循环遍历数组的方式,比较每一个元素和当前最大或最小值的大小,然后更新最大或最小值。以下是用JAVA实现这个过程的简单实例。 准备工作 首先,我们需要准备一个需要查找的数组。我们可以在代码中手动定义一个数组,例如: int[] myArray = {5, 12, 8, 19, 3, 16}; 或者,也可以…

    Java 2023年5月26日
    00
  • Spring Boot整合Bootstrap的超详细步骤

    下面是“Spring Boot整合Bootstrap的超详细步骤”完整攻略: 1. 引入Bootstrap资源 首先,在你的Web项目中引入Bootstrap资源,具体来说,就是将Bootstrap的CSS、JS等文件引入到项目中。你可以通过下载Bootstrap的官方资源文件并手工进行配置,也可以直接使用CDN引入。 下面示例展示了通过CDN直接引入Boo…

    Java 2023年5月15日
    00
  • java如何将Object数组转换为指定类型数组

    将Object数组转换为指定类型数组的过程需要进行类型强转,下面是具体的步骤和示例。 创建指定类型数组 首先,需要确定要转换成哪种类型的数组,然后使用数组的静态方法创建一个指定类型的数组。例如创建一个字符串数组: String[] array = new String[objectArray.length]; 遍历Object数组 使用for循环或者for-…

    Java 2023年5月26日
    00
  • Hibernate基于ThreadLocal管理Session过程解析

    当我们使用Hibernate进行对象关系映射时,我们常常需要处理Session对象的创建、使用和关闭等生命周期的管理。为了确保线程安全和线程隔离,通常采用ThreadLocal变量来管理Session对象。Hibernate基于ThreadLocal管理Session的过程如下: 创建ThreadLocal对象 我们可以使用如下代码创建一个ThreadLoc…

    Java 2023年5月19日
    00
  • java用两个例子充分阐述多态的可拓展性介绍

    给您介绍一下如何使用Java的多态来实现可拓展性。 什么是多态 在Java中,多态是指一个对象的实际类型可能是其父类、接口或抽象类,这种特性可以让相同类型的对象执行相同的方法,但可能会有不同的实现方式。因此,多态可以让代码更加灵活,也更容易维护。 多态的可拓展性介绍 多态在Java中实现可拓展性的方法是,当新增一个子类时,只需要重写跟父类相同的方法即可,然后…

    Java 2023年5月20日
    00
  • 从字符串中截取等长字节的Java代码

    要从Java字符串中截取等长字节,我们可以使用Java内置的getBytes()方法。getBytes()方法可以将字符串转换为字节数组,我们可以根据需要从数组中截取所需的字节。 下面是截取等长字节的Java代码攻略: 1.首先,我们需要将字符串转换为字节数组,使用getBytes()方法,可以将字符串转换为字节数组。 String str = "…

    Java 2023年5月27日
    00
  • spring mvc中直接注入的HttpServletRequst安全吗

    Spring MVC中直接注入的HttpServletRequest安全吗? 在Spring MVC中,我们可以直接在控制器方法中注入HttpServletRequest对象,以便在方法中访问请求信息。但是,这种做法是否安全呢?本文将对此进行详细讲解,并提供两个示例说明。 直接注入HttpServletRequest的安全问题 直接注入HttpServlet…

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