ojdbc6-11.2.0.1.0.jar(需手動安裝至本地倉庫)mybatis-generator-core-1.3.2.jar<?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>
<!-- 驅動 JAR 路徑,建議使用本地倉庫絕對路徑 -->
<classPathEntry location="C:/Users/rocky/.m2/repository/com/oracle/ojdbc6/11.2.0.1.0/ojdbc6-11.2.0.1.0.jar" />
<context id="MyBatis3" targetRuntime="MyBatis3">
<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@192.168.1.5:1521:MYDB"
userId="rocky" password="rocky">
</jdbcConnection>
<javaModelGenerator targetPackage="com.myproject.rocky.web.model" targetProject="./src">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="com.myproject.rocky.web.dao" targetProject="./src">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.myproject.rocky.web.dao" targetProject="./src">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<table tableName="OBJ_USER" schema="rocky"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
<property name="ignoreQualifiersAtRuntime" value="true"/>
<property name="runtimeTableName" value="OBJ_USER"/>
</table>
</context>
</generatorConfiguration>
java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite
| 標籤/屬性 | 作用 |
|---|---|
| targetRuntime="MyBatis3" | 生成 MyBatis 3.x 風格代碼(含注解支持) |
| javaModelGenerator | 實體類輸出包路徑、項目目錄 |
| sqlMapGenerator | Mapper XML 輸出路徑 |
| javaClientGenerator type="XMLMAPPER" | 生成 Mapper 接口 + XML,而非純注解 |
| table.enableXXXByExample="false" | 禁用 Example 查詢/更新/刪除,精簡生成代碼 |
| ignoreQualifiersAtRuntime | 運行時忽略 Schema 前綴,提升可移植性 |
原因:MyBatis Generator 依賴主鍵生成 selectByPrimaryKey、updateByPrimaryKey 等方法。
解決:為表添加主鍵,或在 <table> 配置 <generatedKey> 指定主鍵列。
Oracle 默認大寫存儲。配置 <property name="autoDelimitKeywords" value="true"/> 在 context 中,自動加雙引號。
使用 <commentGenerator> 關閉註解:
<commentGenerator> <property name="suppressAllComments" value="true"/> <property name="suppressDate" value="true"/> </commentGenerator>
確保 classPathEntry 指向正確的 ojdbc6.jar,或將驅動安裝至 Maven 倉庫:
mvn install:install-file -Dfile=ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.1.0 -Dpackaging=jar
generatorConfig.xml 納入版本控制,團隊共享mybatis-generator-maven-plugin 集成到構建生命周期