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="`"/><plugintype="com.softwareloop.mybatis.generator.plugins.LombokPlugin"/><commentGenerator><property name="suppressDate" value="true"/><property name="suppressAllComments" value="true"/></commentGenerator><jdbcConnectiondriverClass="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><javaModelGeneratortargetPackage="com.longfor.idata.server.dao.entity"targetProject="/Users/***/***/server/src/main/java"/> <!--本机绝对路径--><javaClientGeneratortargetPackage="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的步骤,希望对你的开发工作有所帮助。