1. 配置 MyBatis 代碼生成器插件

要使用 MyBatis 代碼生成器,首先需要在項(xiàng)目中引入相關(guān)依賴。在 Maven 項(xiàng)目中,可以添加以下依賴:

<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.4.0</version>
</dependency>

接下來,需要編寫一個(gè) MyBatis 生成器的配置文件,通常命名為 generatorConfig.xml。這個(gè)文件定義了數(shù)據(jù)庫連接信息、要生成的表以及生成規(guī)則等。

2. 編寫 generatorConfig.xml 配置文件

以下是一個(gè)典型的 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="testTables" targetRuntime="MyBatis3">
    <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
        connectionURL="jdbc:mysql://localhost:3306/mydb"
        userId="root"
        password="password">
    </jdbcConnection>

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

    <sqlMapGenerator targetPackage="com.example.mapper" targetProject="./src/main/resources">
      <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>

    <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="./src/main/java">
      <property name="enableSubPackages" value="true" />
    </javaClientGenerator>

    <table tableName="users" domainObjectName="User" />
  </context>
</generatorConfiguration>

這個(gè)配置文件定義了數(shù)據(jù)庫連接信息、Java 模型生成規(guī)則、Mapper 接口生成規(guī)則以及要生成的數(shù)據(jù)庫表。

3. 運(yùn)行 MyBatis 代碼生成器

有了上述配置文件,就可以運(yùn)行 MyBatis 代碼生成器了。在 Maven 項(xiàng)目中,可以添加一個(gè) Maven 插件來執(zhí)行代碼生成:

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

然后在命令行運(yùn)行 mvn mybatis-generator:generate 即可生成代碼。

4. 使用生成的代碼

MyBatis 代碼生成器會(huì)生成以下幾個(gè)重要的組件:

實(shí)體類(Model):對(duì)應(yīng)數(shù)據(jù)庫表的 Java 類

Mapper 接口:提供數(shù)據(jù)庫操作的方法

Mapper XML 文件:定義 SQL 語句和映射關(guān)系

有了這些組件,開發(fā)人員就可以直接使用它們進(jìn)行數(shù)據(jù)庫操作,大大提高了開發(fā)效率。

5. 進(jìn)階使用技巧

MyBatis 代碼生成器提供了許多高級(jí)功能,可以滿足不同需求:

支持自定義生成規(guī)則,例如類名前綴、屬性名稱等

支持生成注釋,包括列注釋、方法注釋等

支持生成 Lombok 注解,簡化實(shí)體類代碼

支持生成分頁查詢方法

支持生成邏輯刪除和樂觀鎖相關(guān)代碼

合理利用這些功能,可以進(jìn)一步優(yōu)化代碼生成的質(zhì)量和可維護(hù)性。

6. 總結(jié)

MyBatis 代碼生成器是一個(gè)非常強(qiáng)大的工具,能夠大大提高數(shù)據(jù)庫訪問層的開發(fā)效率。通過簡單的配置,就可以自動(dòng)生成高質(zhì)量的實(shí)體類、Mapper 接口和 XML 文件,省去了大量的重復(fù)性工作。對(duì)于任何使用 MyBatis 的項(xiàng)目來說,都應(yīng)該充分利用這個(gè)工具來簡化開發(fā)流程,提升代碼質(zhì)量。

總的來說,MyBatis 代碼生成器是一個(gè)非常實(shí)用的插件,可以幫助開發(fā)人員快速構(gòu)建數(shù)據(jù)訪問層,提高開發(fā)效率和代碼質(zhì)量。合理利用這個(gè)工具,將大大簡化 MyBatis 項(xiàng)目的開發(fā)過程。