iBATOR簡(jiǎn)介

2018-12-09 11:01 更新

iBATOR是iBATIS的代碼生成器。 iBATOR內(nèi)部檢查的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)表和生成可用于訪(fǎng)問(wèn)表iBATIS的工件。

稍后,您可以編寫(xiě)自定義的SQL代碼或存儲(chǔ)過(guò)程來(lái)滿(mǎn)足您的要求。 iBATOR生成以下工件 -

  • SqlMap的XML文件
  • Java類(lèi)相匹配的表的主鍵和字段(多個(gè))
  • 使用上述對(duì)象DAO類(lèi)(可選)

iBATOR可以作為一個(gè)獨(dú)立的JAR文件運(yùn)行,或者作為一個(gè)Ant任務(wù),或者作為一個(gè)Eclipse插件。本教程介紹的命令行生成iBATIS的配置文件的最簡(jiǎn)單的方法。

下載iBATOR

如果您使用的不是其他的Eclipse的IDE下載獨(dú)立JAR。獨(dú)立JAR包括一個(gè)Ant任務(wù)運(yùn)行iBATOR,也可以從Java代碼在命令行運(yùn)行iBATOR。

生成配置文件

要運(yùn)行iBATOR,請(qǐng)按照下列步驟 -

步驟1

創(chuàng)建并填寫(xiě)相應(yīng)的配置文件ibatorConfig.xml。至少,你必須指定 -

  • A <jdbcConnection>元素指定如何連接到目標(biāo)數(shù)據(jù)庫(kù)。

  • A <javaModelGenerator>元素來(lái)指定目標(biāo)包和生成的Java模型對(duì)象目標(biāo)項(xiàng)目。

  • A <sqlMapGenerator>元素來(lái)指定目標(biāo)包和生成的SQL映射文件的目標(biāo)項(xiàng)目。

  • A <daoGenerator>元素指定生成的DAO接口和類(lèi)目標(biāo)包和目標(biāo)的項(xiàng)目(可以省略<daoGenerator>元素,如果你不希望產(chǎn)生的DAO)。

  • 至少一個(gè)數(shù)據(jù)庫(kù)<table>元素

注-請(qǐng)參閱XML配置文件參考頁(yè)面的iBATOR配置文件的一個(gè)例子。

第2步

將該文件保存在方便的位置,例如在: TEMP ibatorConfig.xml。

第3步

現(xiàn)在從命令行運(yùn)行iBATOR如下 -

java -jar abator.jar -configfile 	empabatorConfig.xml -overwrite

它會(huì)告訴iBATOR使用您的配置文件來(lái)運(yùn)行。它還會(huì)告訴iBATOR覆蓋具有相同名稱(chēng)的任何現(xiàn)有的Java文件。如果您想保存任何現(xiàn)有的Java文件,那么忽略-overwrite參數(shù)。

如果有沖突,iBATOR節(jié)省了一個(gè)獨(dú)特的名字,新生成的文件。

運(yùn)行iBATOR后,您需要?jiǎng)?chuàng)建或修改標(biāo)準(zhǔn)iBATIS的配置文件來(lái)利用你新生成的代碼。這將在接下來(lái)的部分中說(shuō)明。

任務(wù)運(yùn)行iBATOR后

運(yùn)行iBATOR后,您需要?jiǎng)?chuàng)建或修改其他iBATIS的配置工件。主要工作如下 -

  • 創(chuàng)建或修改SqlMapConfig.xml文件。
  • 創(chuàng)建或修改dao.xml文件(僅當(dāng)您使用的是iBATIS的DAO框架)。

每個(gè)任務(wù)將在下面詳細(xì)描述的 -

更新SqlMapConfig.xml文件

iBATIS的使用XML文件,通常稱(chēng)為SqlMapConfig.xml,為那些在iBATIS的會(huì)話(huà)中使用一個(gè)數(shù)據(jù)庫(kù)連接,事務(wù)管理方案,SQL映射的XML文件中指定的信息。

因?yàn)樗裁炊疾恢狸P(guān)于你的執(zhí)行環(huán)境iBATOR不能為你創(chuàng)建這個(gè)文件。然而,一些在此文件中的項(xiàng)目涉及直接向iBATOR生成物品。

是在配置文件中iBATOR特定需求如下: -

  • 聲明命名空間必須啟用。
  • iBATOR生成的SQL映射文件必須列出。

例如,假設(shè)iBATOR已經(jīng)生成一個(gè)名為MyTable_SqlMap.xml的SQL映射文件,該文件已被放置在你的項(xiàng)目的test.xml包。該SqlMapConfig.xml文件應(yīng)該有這些條目 -

<?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>

如果有多個(gè)SQL映射文件(這是很常見(jiàn)的),則可以將文件與<transactionManager的>元素經(jīng)過(guò)反復(fù)<SQLMAP>元素的順序排列。

更新dao.xml文件

iBATIS的DAO框架是由俗稱(chēng)dao.xml的XML文件進(jìn)行配置。

iBATIS的DAO框架使用這個(gè)文件來(lái)控制DAO的數(shù)據(jù)庫(kù)連接信息,還列出DAO實(shí)現(xiàn)類(lèi)和DAO接口。

在這個(gè)文件中,應(yīng)指定的路徑SqlMapConfig.xml文件,所有的iBATOR產(chǎn)生的DAO接口和實(shí)現(xiàn)類(lèi)。

例如,假設(shè)iBATOR已經(jīng)生成一個(gè)名為MyTableDAO一個(gè)DAO接口,并呼吁MyTableDAOImpl實(shí)現(xiàn)類(lèi),并且該文件已被放置在你的項(xiàng)目的test.dao包。

該dao.xml文件應(yīng)該有這些條目 -

<?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>

注意-此步驟僅當(dāng)您生成了iBATIS的DAO框架DAO的需要。


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)