- iBATIS 教程
- iBATIS - 首頁
- iBATIS - 概述
- iBATIS - 環境配置
- iBATIS - 建立操作
- iBATIS - 讀取操作
- iBATIS - 更新操作
- iBATIS - 刪除操作
- iBATIS - 結果對映
- iBATIS - 儲存過程
- iBATIS - 動態SQL
- iBATIS - 除錯
- iBATIS - Hibernate比較
- iBATOR- 簡介
- iBATIS 有用資源
- iBATIS - 快速指南
- iBATIS - 有用資源
- iBATIS - 討論
iBATOR - 簡介
iBATOR 是一個 iBATIS 程式碼生成器。iBATOR 可以內省一個或多個數據庫表,並生成可用於訪問這些表的 iBATIS 工件。
之後,您可以編寫自定義 SQL 程式碼或儲存過程來滿足您的需求。iBATOR 生成以下工件:
- SqlMap XML 檔案
- 與表的主鍵和欄位匹配的 Java 類
- 使用上述物件的 DAO 類(可選)
iBATOR 可以作為獨立的 JAR 檔案執行,也可以作為 Ant 任務執行,或者作為 Eclipse 外掛執行。本教程描述了從命令列生成 iBATIS 配置檔案的簡便方法。
下載 iBATOR
如果您使用的是 Eclipse 以外的 IDE,請下載獨立的 JAR 檔案。獨立的 JAR 檔案包含一個用於執行 iBATOR 的 Ant 任務,或者您可以從 Java 程式碼的命令列執行 iBATOR。
您可以從 這裡下載 iBATOR。
您可以檢視線上文件:iBATOR 文件。
生成配置檔案
要執行 iBATOR,請按照以下步驟操作:
步驟 1
建立並適當地填充配置檔案 ibatorConfig.xml。至少,您必須指定:
一個 <jdbcConnection> 元素,用於指定如何連線到目標資料庫。
一個 <javaModelGenerator> 元素,用於指定生成的 Java 模型物件的 target 包和 target 專案。
一個 <sqlMapGenerator> 元素,用於指定生成的 SQL map 檔案的 target 包和 target 專案。
一個 <daoGenerator> 元素,用於指定生成的 DAO 介面和類的 target 包和 target 專案(如果您不希望生成 DAO,可以省略 <daoGenerator> 元素)。
至少一個數據庫 <table> 元素
注意:請參閱 XML 配置檔案參考 頁面,瞭解 iBATOR 配置檔案的示例。
步驟 2
將檔案儲存在方便的位置,例如:\temp\ibatorConfig.xml。
步驟 3
現在,從命令列執行 iBATOR,如下所示:
java -jar abator.jar -configfile \temp\abatorConfig.xml -overwrite
這將告訴 iBATOR 使用您的配置檔案執行。它還將告訴 iBATOR 用同名檔案覆蓋任何現有 Java 檔案。如果您想儲存任何現有 Java 檔案,則省略 -overwrite 引數。
如果存在衝突,iBATOR 會使用唯一名稱儲存新生成的檔案。
執行 iBATOR 後,您需要建立或修改標準 iBATIS 配置檔案才能使用新生成的程式碼。這將在下一節中說明。
執行 iBATOR 後的任務
執行 iBATOR 後,您需要建立或修改其他 iBATIS 配置工件。主要任務如下:
- 建立或修改 SqlMapConfig.xml 檔案。
- 建立或修改 dao.xml 檔案(僅當您使用 iBATIS DAO 框架時)。
下面詳細描述每個任務:
更新 SqlMapConfig.xml 檔案
iBATIS 使用一個 XML 檔案(通常名為 SqlMapConfig.xml)來指定資料庫連線資訊、事務管理方案以及在 iBATIS 會話中使用的 SQL map XML 檔案。
iBATOR 無法為您建立此檔案,因為它不知道您的執行環境。但是,此檔案中的某些專案與 iBATOR 生成的專案直接相關。
配置檔案中 iBATOR 的特定需求如下:
- 必須啟用語句名稱空間。
- 必須列出 iBATOR 生成的 SQL Map XML 檔案。
例如,假設 iBATOR 生成了一個名為 MyTable_SqlMap.xml 的 SQL Map XML 檔案,並且該檔案已放置在專案的 test.xml 包中。SqlMapConfig.xml 檔案應包含以下條目:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<!-- Statement namespaces are required for Abator -->
<settings useStatementNamespaces="true" />
<!-- Setup the transaction manager and data source that are
appropriate for your environment
-->
<transactionManager type="...">
<dataSource type="...">
</dataSource>
</transactionManager>
<!-- SQL Map XML files should be listed here -->
<sqlMap resource="test/xml/MyTable_SqlMap.xml" />
</sqlMapConfig>
如果有多個 SQL Map XML 檔案(很常見),則可以在 <transactionManager> 元素之後以任何順序列出這些檔案,並重復使用 <sqlMap> 元素。
更新 dao.xml 檔案
iBATIS DAO 框架由一個通常稱為 dao.xml 的 xml 檔案配置。
iBATIS DAO 框架使用此檔案來控制 DAO 的資料庫連線資訊,以及列出 DAO 實現類和 DAO 介面。
在此檔案中,您應該指定 SqlMapConfig.xml 檔案的路徑以及所有 iBATOR 生成的 DAO 介面和實現類。
例如,假設 iBATOR 生成了一個名為 MyTableDAO 的 DAO 介面和一個名為 MyTableDAOImpl 的實現類,並且這些檔案已放置在專案的 test.dao 包中。
dao.xml 檔案應包含以下條目:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE daoConfig PUBLIC "-//ibatis.apache.org//DTD DAO Configuration 2.0//EN" "http://ibatis.apache.org/dtd/dao-2.dtd">
<daoConfig>
<context>
<transactionManager type="SQLMAP">
<property name="SqlMapConfigResource" value="test/SqlMapConfig.xml"/>
</transactionManager>
<!-- DAO interfaces and implementations should be listed here -->
<dao interface="test.dao.MyTableDAO" implementation="test.dao.MyTableDAOImpl" />
</context>
</daoConfig>
注意:只有在為 iBATIS DAO 框架生成 DAO 時,才需要執行此步驟。