SpringBoot如何整合mybatis-generator-maven-plugin 1.4.0

yizhihongxing

首先,我们需要在项目中添加MyBatis Generator Maven插件,该插件可自动化生成MyBatis的mappper、model和example类。下面是整合MyBatis Generator Maven插件的步骤:

  1. 添加插件依赖

在pom.xml文件的插件列表中,添加MyBatis Generator Maven插件的依赖:

<plugin>
  <groupId>org.mybatis.generator</groupId>
  <artifactId>mybatis-generator-maven-plugin</artifactId>
  <version>1.4.0</version>
  <dependencies>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql.version}</version>
    </dependency>
    <dependency>
      <groupId>tk.mybatis</groupId>
      <artifactId>mapper</artifactId>
      <version>${tk.mybatis.mapper.version}</version>
    </dependency>
  </dependencies>
</plugin>

其中,mysql和tk.mybatis.mapper分别是MySQL驱动和通用Mapper依赖,需要定义版本号。

  1. 配置插件

在pom.xml文件中,通过配置MyBatis Generator插件来定义生成器的行为:

<build>
  <plugins>
    <plugin>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-maven-plugin</artifactId>
      <version>1.4.0</version>
      <configuration>
        <configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile>
        <overwrite>true</overwrite>
        <verbose>true</verbose>
      </configuration>
    </plugin>
  </plugins>
</build>

其中,configurationFile属性指定MyBatis Generator配置文件的路径,overwrite属性指定是否覆盖已存在的文件,verbose属性指定是否输出详细日志信息。

  1. 编写配置文件

在项目的src/main/resources目录下新建generator目录,并在该目录下编写MyBatis Generator的配置文件generatorConfig.xml。以生成UserMapper为例,配置文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC 
  "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 
  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
  <context id="Mysql" targetRuntime="MyBatis3">
    <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
        connectionURL="jdbc:mysql://localhost:3306/mybatis_test?characterEncoding=utf8&amp;serverTimezone=UTC" 
        userId="root" password="root">
    </jdbcConnection>
    <javaModelGenerator targetPackage="com.example.mybatis.model" 
        targetProject="src/main/java">
    </javaModelGenerator>
    <sqlMapGenerator targetPackage="com.example.mybatis.mapper" 
        targetProject="src/main/resources">
    </sqlMapGenerator>
    <javaClientGenerator targetPackage="com.example.mybatis.mapper" 
        targetProject="src/main/java" type="XMLMAPPER">
    </javaClientGenerator>
    <table tableName="user" domainObjectName="User" enableCountByExample="false"
           enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
           selectByExampleQueryId="false"/>
  </context>
</generatorConfiguration>

其中,jdbcConnection配置数据源连接信息,javaModelGenerator配置生成的model类的包名和输出路径,sqlMapGenerator配置生成的mapper.xml文件的包名和输出路径,javaClientGenerator配置生成的mapper接口类的包名和输出路径,而table则代表表名以及对应的model类名和是否生成example类。

  1. 运行插件

在命令行中执行下面的命令即可运行MyBatis Generator Maven插件:

mvn mybatis-generator:generate

执行完成后,将在目标路径中生成mapper.xml和model类。

示例1:在SpringBoot项目中整合MyBatis Generator Maven插件

在SpringBoot项目中整合MyBatis Generator Maven插件的步骤非常简单,在pom.xml文件中添加插件依赖和配置,然后运行插件即可。下面是一个简单的例子:

  1. 在pom.xml文件中添加插件依赖和配置
<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>${spring.boot.version}</version>
  </dependency>
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>${mysql.version}</version>
  </dependency>
  <dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>${tk.mybatis.mapper.version}</version>
  </dependency>
</dependencies>

<build>
  <plugins>
    <plugin>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-maven-plugin</artifactId>
      <version>1.4.0</version>
      <configuration>
        <configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile>
        <overwrite>true</overwrite>
        <verbose>true</verbose>
      </configuration>
    </plugin>
  </plugins>
</build>

其中,mapper-spring-boot-starter是通用Mapper的SpringBoot启动器依赖。generatorConfig.xml文件的内容和前面示例中的一样,此处不再赘述。

  1. 运行插件

在命令行中执行下面的命令即可运行MyBatis Generator Maven插件:

mvn mybatis-generator:generate

示例2:使用MyBatis Generator Maven插件生成带有Lombok注解的model类

在实际开发中,为了简化model类的编写,我们可以使用Lombok注解来生成model类的getter、setter、toString、equals、hashCode等方法。下面是一个示例:

  1. 在pom.xml文件中添加Lombok依赖
<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>${lombok.version}</version>
  <scope>provided</scope>
</dependency>
  1. 修改generatorConfig.xml文件

JavaModelGenerator节点修改为如下内容:

<javaModelGenerator targetPackage="com.example.mybatis.model" targetProject="src/main/java">
  <property name="enableSubPackages" value="false"/>
  <property name="trimStrings" value="true"/>
  <property name="rootClass" value="lombok.Data"/>
</javaModelGenerator>

其中,enableSubPackages和trimStrings属性分别为是否启用子包和是否自动trim字符串,而rootClass属性则指定model类的基类为Lombok的@Data注解。

  1. 运行插件

在命令行中执行mvn mybatis-generator:generate命令即可生成带有Lombok注解的model类。

以上是整合MyBatis Generator Maven插件的完整攻略,其中包含了两个项目完成的示例,相信可以对读者有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot如何整合mybatis-generator-maven-plugin 1.4.0 - Python技术站

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

相关文章

  • Java中的并发是什么?

    Java中的并发是指多个线程同时执行的状态。简单来说,就是在同一时刻有多个线程在运行,并且这些线程可以共享相同的资源。Java中提供了一些方便且有效的机制来处理并发并保障线程安全。 Java中的线程 Java中的线程是由Thread类实例化的对象,通过start()方法启动。Java中的线程可以分为两种类型,分别为用户线程和守护线程。用户线程运行结束后,程序…

    Java 2023年4月27日
    00
  • Spring多线程通过@Scheduled实现定时任务

    下面就来详细讲解“Spring多线程通过@Scheduled实现定时任务”的完整攻略。 什么是@Scheduled @Scheduled 是一种方便的 Spring 内置注解,可以让你在应用程序中创建定时任务。使用@Scheduled 注解,你可以指定一个固定的延迟、一个固定的间隔(以秒为单位)或一个 cron 表达式(更完整的定时任务调度方法)来触发注解的…

    Java 2023年5月19日
    00
  • SpringMVC拦截器——实现登录验证拦截器的示例代码

    Spring MVC拦截器是一种常用的拦截器,它可以在请求到达Controller之前或之后进行拦截和处理。本文将详细讲解如何实现登录验证拦截器,并提供两个示例说明。 实现登录验证拦截器 在Spring MVC中,我们可以通过实现HandlerInterceptor接口来实现拦截器。下面是一个示例: public class LoginInterceptor…

    Java 2023年5月18日
    00
  • Spring boot 整合 Redisson实现分布式锁并验证功能

    下面我将为您讲解“Spring Boot整合Redisson实现分布式锁并验证功能”的完整攻略。 一、Redisson简介 Redisson是一个Java Redis客户端,提供了功能齐全的分布式Redis服务,例如RedLock(分布式锁)、RedQueue(分布式队列)、RedTopic(分布式发布/订阅)等。在很多开源框架中,Redisson也是非常受…

    Java 2023年5月20日
    00
  • Java配置 JDK开发环境搭建及环境变量配置详细图文教程

    下面我将为您详细说明如何在电脑上配置Java JDK开发环境及环境变量的步骤。 配置Java JDK开发环境搭建 1. 下载安装Java JDK 在官网下载Java JDK安装包,本文以JDK1.8为例。 2. 安装Java JDK 打开下载的安装包,一步一步按照提示进行安装即可。 3. 配置环境变量 右击“计算机”,选择“属性”,在弹出的界面左侧点击“高级…

    Java 2023年5月23日
    00
  • 详解JAVA中的OPTIONAL

    详解JAVA中的Optional Java中的Optional是Java8中新增的类,用于解决空指针异常。Optional类通过包装对象的形式,判断对象是否为空,从而避免空指针异常。 Optional基本概念 Optional的创建 Optional的创建有两种方法:empty()和of(T value)。 当要创建一个空的Optional对象时,可以使用e…

    Java 2023年5月26日
    00
  • 精通Java泛型的使用与原理

    精通Java泛型的使用与原理 什么是泛型? 泛型可以将数据类型作为数据参数传递,这个数据类型可以被用在类、接口和方法中。泛型的引入使得程序具有更好的类型安全性、代码复用性和可读性。 泛型的基本语法 泛型的基本语法为: class 类名<泛型参数,泛型参数,…>{ } interface 接口名<泛型参数,泛型参数,…>{ } …

    Java 2023年5月26日
    00
  • Java多态的全面系统解析

    Java多态的全面系统解析 什么是多态 多态(Polymorphism)是面向对象编程中一个非常重要的概念,指的是同类对象的不同表现形式。具体而言,多态是指在运行时根据实际类型来确定对象的实际行为。 Java中的多态可以分为两种:编译时多态和运行时多态。 编译时多态,也称为静态多态,是指在编译时就能确定具体的方法调用。这种多态是通过Java的方法重载实现的。…

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