如何运用Mybatis Genertor

MyBatis Generator是一个MyBatis的代码生成器,它可以帮助我们快速生成Mapper接口以及对应的XML文件和模型类。在Java开发中,能大大提升开发效率。本文将介绍如何在IntelliJ IDEA中使用MyBatis Generator。

1. 添加MyBatis Generator依赖

我们首先需要在项目中加入mybatis-generator-maven-plugin插件,打开pom.xml文件,添加如下内容:

<plugins>
    <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.4.0</version>
        <configuration>
        	<configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
            <overwrite>true</overwrite>
            <verbose>true</verbose>
        </configuration>  
        <executions>
	        <execution>
            	<id>Generate MyBatis Artifacts</id>
                <phase>deploy</phase>
                <goals>
                	<goal>generate</goal>
                </goals>
            </execution>
        </executions>
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.23</version>
            </dependency>
        </dependencies>
    </plugin>
</plugins>

上述代码告诉Maven我们的项目需要使用MyBatis Generator,并且需要使用MySQL的驱动进行数据库连接。

接下来,详细解释一下配置文件中的executions标签configuration标签的作用

1.1、executions标签

        <executions>
	        <execution>
            	<id>Generate MyBatis Artifacts</id>
                <phase>deploy</phase>
                <goals>
                	<goal>generate</goal>
                </goals>
            </execution>
        </executions>

这是一个Maven插件配置,它用来在特定的生命周期阶段执行特定的目标(goal)。

首先,<executions>标签里面的配置指的是插件的执行情况。

  • <execution>: 表示插件的一个执行操作。
  • <id>: 是这个执行操作的标识。
  • <phase>: 这个标签指定了在Maven的哪个生命周期阶段执行这个操作。在这里,<phase>deploy</phase>表示这个操作将在deploy阶段(也就是项目包已经构建完并且已经安装到本地仓库,接下来就要进行部署的阶段)执行。
  • <goals>: 插件目标,可以包含一个或多个<goal>元素,表示执行插件的哪些功能。这里的<goal>generate</goal>即表示执行generate目标,如果是MyBatis Generator插件的话,表示进行代码生成。

这个配置的意思是:在Maven的deploy阶段执行MyBatis Generator代码生成。

⚠️主要作用:

这个配置的作用是让Maven在特定的生命周期阶段(这里是 deploy 阶段)自动执行MyBatis Generator的代码生成操作。

<goal>generate</goal> 表示要执行的操作是“生成”。 对于MyBatis Generator插件来说,这就是根据你在配置文件中定义的数据库表结构,生成相应的 Java POJO 类,数据库操作 Mapper 接口以及相应的 SQL 映射文件。

一般来说,我们可能会手动启动生成操作,但是有了这个配置,每当你运行 mvn deploy 命令部署你的项目时,Maven就会在deploy阶段自动调用MyBatis Generator的generate目标,为你的数据库表自动生成代码。

这使得你的代码生成步骤与你的项目构建过程(即 Maven 生命周期)融为一个整体,让整个过程自动化起来,大大提高了效率。此外,你也无需担心由于手动触发生成操作而可能导致的遗漏或者错误。

1.2、configuration标签

        <configuration>
        	<configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
            <overwrite>true</overwrite>
            <verbose>true</verbose>
        </configuration>  

这个<configuration>部分是用来设置 MyBatis Generator 插件的配置参数的。

  • <configurationFile>:这个参数用来指定 MyBatis Generator 的配置文件路径。${basedir}是Maven的一个变量,代表项目的根目录,所以这里的${basedir}/src/main/resources/generatorConfig.xml就表示项目根目录下的src/main/resources/generatorConfig.xml这个MyBatis Generator的配置文件。
  • <overwrite>:这个参数设定是否覆盖原有的代码。如果设置为true,那么在生成新的代码的时候,相同的旧代码文件将被覆盖;如果设置为false,相同的旧代码文件则会被保留,不会被新代码覆盖。
  • <verbose>:这个参数设定是否输出详细的运行过程信息。如果设置为true,那么MyBatis Generator在运行的时候会输出详细的步骤信息,有助于你查看和了解生成过程的详细情况。

总之,这一部分配置指定了 MyBatis Generator 的代码生成行为的一些具体参数。

2. 配置MyBatis Generator

MyBatis Generator的配置文件一般命名为generatorConfig.xml,配置文件中包括了数据库的连接信息,以及我们希望生成的模型类和Mapper接口的位置等信息。

一个典型的generatorConfig.xml配置文件如下:

<?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="idata" defaultModelType="flat">
        <property name="javaFileEncoding" value="UTF-8"/>
        <property name="autoDelimitKeywords" value="true"/>
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>
        <plugin
                type="com.softwareloop.mybatis.generator.plugins.LombokPlugin"/>
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <jdbcConnection
                driverClass="com.mysql.cj.jdbc.Driver"
                connectionURL="jdbc:mysql://localhost:3306/database_name"
                userId="your_username"
                password="your_password"/> <!--测试库地址、用户名、密码-->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <javaModelGenerator
                targetPackage="com.longfor.idata.server.dao.entity"
                targetProject="/Users/***/***/server/src/main/java"/> <!--本机绝对路径-->
        <javaClientGenerator
                targetPackage="com.longfor.idata.server.dao.mapper"
                targetProject="/Users/***/***/server/src/main/java"
                type="ANNOTATEDMAPPER"/> <!--本机绝对路径-->
        <table tableName="t_collect">
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>
        </table>
        <table tableName="t_files">
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>
            <columnOverride column="download_status" javaType="java.lang.Integer"/>
        </table>
        <table tableName="t_requirement">
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>
        </table>
        <table tableName="t_requirement_state">
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>
        </table>
        <table tableName="t_statement_share">
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>
        </table>
        <table tableName="t_visiting_record">
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>
        </table>
    </context>
</generatorConfiguration>


  

3. 运行MyBatis Generator

在IDEA中,我们可以通过Terminal输入mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate,然后点击运行。即可生成相应的Java模型类和Mapper文件。
在这里插入图片描述

4. 查看生成的代码

最后我们可以在指定的目录下看到generatorConfig.xml中配置的tableName所对应的Java模型类和Mapper。


以上就是在IntelliJ IDEA中使用MyBatis Generator的步骤,希望对你的开发工作有所帮助。

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值