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日

相关文章

  • java开发中如何使用JVisualVM进行性能分析

    完整攻略如下: 1. 什么是JVisualVM JVisualVM是Java SE平台的一个工具,用于监视本地或远程的Java程序运行状态。使用JVisualVM可以实时监控Java程序的内存、CPU、线程等实时状态,同时支持通过插件扩展功能。 2. 如何使用JVisualVM进行性能分析 2.1. 下载并安装JVisualVM JVisualVM是Java…

    Java 2023年5月26日
    00
  • Java二维数组与动态数组ArrayList类详解

    下面是Java二维数组与动态数组ArrayList类的详解攻略。 Java二维数组的定义和使用方法 二维数组的定义 Java中的二维数组是数组中的数组,可以看作是一种矩阵。二维数组的定义方式如下: dataType[][] arrayName = new dataType[row][column]; 其中,datatype是数据类型,arrayName是数组…

    Java 2023年5月26日
    00
  • HTML页面自动清理js、css文件的缓存(自动添加版本号)

    为了解决用户访问网站时,由于浏览器缓存而读取了旧版本的js、css文件而导致网页无法正确渲染的问题,需要对网站中的js、css文件进行版本控制,并自动清理浏览器缓存。 1. 添加版本控制 在引用js、css文件时,添加版本号。可以采用以下两种方式: 1.1 引用文件名添加版本号 在引用js、css文件时,在文件名后面添加?v=版本号 <link rel…

    Java 2023年6月16日
    00
  • Javaweb EL自定义函数开发及代码实例

    下面我将为您详细讲解“Javaweb EL自定义函数开发及代码实例”的完整攻略。 1. 什么是EL表达式 EL表达式全称是Expression Language,即表达式语言,它是JSP规范中的一个语言,用于简化JSP页面中的Java代码。EL表达式可以获取、设置、计算JavaBean的属性值,访问作用域中的变量及常量,调用JavaBean的方法等等。 2.…

    Java 2023年6月15日
    00
  • java实现快速打字游戏

    Java实现快速打字游戏攻略 1. 确定需求与设计游戏逻辑 在实现Java快速打字游戏之前,我们首先需要确定游戏的需求和逻辑。快速打字游戏的目的是测试玩家的打字速度和准确性,因此我们需要设计以下功能: 随机生成需要玩家打出的单词/短语,并记录玩家的打字时间和准确性; 显示玩家的打字速度和准确性,并根据不同的表现给出不同的提示。 在确定需求和设计逻辑之后,我们…

    Java 2023年5月19日
    00
  • 之前很火给女朋友推送微信服务号消息是怎么做的?

    经过了几天的奋战,终于把微信服务号的模板消息给写完了。后端其实没花多少时间,因为之前已经有同学提过pull request了,我在这基础之上简单优化下就完事了,主要的时间都是花在前端上,对前端页面和参数的适配比较麻烦。 消息推送平台?推送下发【邮件】【短信】【微信服务号】【微信小程序】【企业微信】【钉钉】等消息类型。 https://gitee.com/zh…

    Java 2023年4月18日
    00
  • java连接Mysql数据库的工具类

    当我们使用Java语言编写程序操作MySQL数据库时,需要用到连接MySQL数据库的相关工具类。下面,我将详细讲解Java连接MySQL数据库的工具类的完整攻略。 1. 引入相关依赖 我们需要在项目中引入MySQL的Java Connector依赖,可以使用以下Maven依赖: <dependency> <groupId>mysql&…

    Java 2023年5月19日
    00
  • java struts2学习笔记之线程安全

    Java Struts2 学习笔记之线程安全攻略 什么是线程安全 在Java开发中,线程安全主要是指程序在多线程环境下能够正确、稳定地执行,并达到预期结果。 具体来说,在多线程环境下,如果有多个线程同时对共享资源进行访问和修改,那么就需要保证这些线程之间的并发执行是正确、稳定、安全的。 如果没有进行线程安全处理的话,可能会出现一些潜在的问题,例如: 竞态条件…

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