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

MyBatis Generator 逆向工程完整配置指南

     編輯:Java 相關知識

工具介紹

MyBatis Generator (MBG) 是官方提供的代碼生成工具,能根據資料庫表結構自動生成:

  • 實體類
  • Mapper 介面
  • Mapper XML 映射文件
  • Example 查詢條件類

大幅減少重複 CRUD 代碼編寫,提升開發效率。

完整配置步驟

1. 準備項目文件結構

將以下文件放入專案目錄或獨立資料夾:

  • generator.jar (核心執行程式)
  • generatorConfig.xml (核心配置文件)
  • 資料庫驅動 JAR (如 mysql-connector-java.jar, ojdbc.jar 等)

文件結構

2. 修改 generatorConfig.xml 關鍵配置

(1) 資料庫驅動路徑

<classPathEntry location="D:/dev/lib/mysql-connector-java-5.1.47.jar" />

驅動路徑配置

(2) 資料庫連線信息

<jdbcConnection driverClass="com.mysql.jdbc.Driver"
    connectionURL="jdbc:mysql://localhost:3306/your_db"
    userId="root"
    password="123456">
</jdbcConnection>

資料庫連線配置

(3) 代碼生成目標路徑(關鍵:目標目錄必須預先存在)

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

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

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

目標路徑配置

(4) 指定生成的表與實體類名映射

<table tableName="sys_user" domainObjectName="SysUser" />
<table tableName="sys_role" domainObjectName="SysRole" />
<!-- 更多表... -->

表映射配置

3. 執行生成命令

進入命令行,切換到含 generator.jar 的目錄:

cd /path/to/generator
java -jar generator.jar -configfile generatorConfig.xml -overwrite

命令執行

4. 驗證生成結果

成功輸出示例:

Generating code...
  Generating SysUser.java
  Generating SysUserMapper.java
  Generating SysUserMapper.xml
  Generating SysUserExample.java
  Generating SysRole.java
  ...
Done.

生成成功

常見問題排查

問題原因解決
targetProject 目錄不存在報錯配置的目標路徑在檔案系統中不存在預先手動建立目錄或修正路徑
驅動類找不到classPathEntry 路徑錯誤或 JAR 損壞檢查驅動 JAR 絕對路徑
連線失敗URL、用戶名、密碼錯誤或資料庫未啟動用客戶端工具先驗證連線
生成代碼覆蓋手動修改使用 -overwrite 參數謹慎使用,建議先備份或用版本控制

進階配置技巧

  • 去除生成註解:<commentGenerator><property name="suppressAllComments" value="true"/></commentGenerator>
  • 指定生成的 Mapper 方法:通過 plugin 配置自定義
  • 集成 Maven 插件:mybatis-generator-maven-plugin 實現構建時自動生成
  • 多模塊項目:分模塊配置多個 generatorConfig.xml

最佳實踐建議

  1. 將 generatorConfig.xml 納入版本控制
  2. 生成的代碼視為「基礎設施」,業務邏輯寫在 Service 層,避免直接修改生成代碼
  3. 表結構變更時重新生成,並用版本控制 diff 確認變更
  4. 大型項目建議按業務模塊拆分多個配置文件
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved