首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Maven 整合 MyBatis Generator 自動生成代碼完整教學

     編輯:Java 相關知識

前言

現代 Java 專案普遍採用 Maven 管理依賴與建置。本文詳細說明如何配置 mybatis-generator-maven-plugin,自動根據資料庫表結構生成 MyBatis 所需的 Model、Mapper XML 與 Mapper Interface 代碼。

1. 配置 Maven 插件 (pom.xml)

在 <plugins> 區塊加入以下配置:

<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.2</version>
    <configuration>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
    </configuration>
</plugin>

2. 建立生成器配置文件 (generatorConfig.xml)

預設讀取路徑:src/main/resources/generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC
    "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    "https://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    <!-- JDBC 驅動 JAR 路徑(建議改用 Maven 依賴管理)-->
    <classPathEntry location="D:\repo\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar" />

    <context id="context1" targetRuntime="MyBatis3">
        <!-- 資料庫連線設定 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/your_db?useUnicode=true&characterEncoding=UTF-8"
            userId="root" password="password" />

        <!-- Model 實體類生成位置 -->
        <javaModelGenerator targetPackage="com.example.model"
            targetProject="src/main/java" />

        <!-- Mapper XML 生成位置 -->
        <sqlMapGenerator targetPackage="com.example.mapper.xml"
            targetProject="src/main/resources" />

        <!-- Mapper Interface 生成位置 -->
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="com.example.mapper"
            targetProject="src/main/java" />

        <!-- 指定要生成的資料表 -->
        <table schema="your_schema" tableName="tb_user" />
        <table schema="your_schema" tableName="tb_role" />
        <table schema="your_schema" tableName="tb_permission" />
        <!-- 更多表格... -->
    </context>
</generatorConfiguration>

關鍵配置說明

元素用途
jdbcConnection資料庫連線參數(驅動、URL、帳號、密碼)
javaModelGenerator實體類套件與輸出目錄
sqlMapGeneratorMapper XML 檔案套件與輸出目錄
javaClientGeneratorMapper 介面套件與輸出目錄,type="XMLMAPPER" 表示生成 XML 對應介面
table指定要逆向工程的資料表,可多個

3. 執行代碼生成

Eclipse / IDEA 圖形介面操作

  1. 右鍵點擊 pom.xml
  2. 選擇 Run As → Maven Build...
  3. 在 Goals 輸入:mybatis-generator:generate
  4. 點擊 Run 執行

命令列執行

cd 專案根目錄
mvn mybatis-generator:generate

常見問題與建議

  • JDBC 驅動:建議將驅動 JAR 納入 Maven 依賴,而非使用本機絕對路徑
  • 覆蓋策略:<overwrite>true</overwrite> 會覆蓋既有檔案,若有手動修改的 Mapper 請先備份
  • targetRuntime:設為 MyBatis3 可生成符合 MyBatis 3.x 風格的代碼
  • 大表處理:可使用 <table> 的 enableSelectByExample="false" 等屬性減少生成代碼量

小結

透過 Maven 整合 MyBatis Generator,可大幅減少手寫重複性 DAO 代碼的工作量,確保 Model 與資料庫結構同步,提升開發效率與維護性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved