iBATOR是iBATIS的代碼生成器。 iBATOR內(nèi)部檢查的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)表和生成可用于訪(fǎng)問(wèn)表iBATIS的工件。
稍后,您可以編寫(xiě)自定義的SQL代碼或存儲(chǔ)過(guò)程來(lái)滿(mǎn)足您的要求。 iBATOR生成以下工件 -
iBATOR可以作為一個(gè)獨(dú)立的JAR文件運(yùn)行,或者作為一個(gè)Ant任務(wù),或者作為一個(gè)Eclipse插件。本教程介紹的命令行生成iBATIS的配置文件的最簡(jiǎn)單的方法。
如果您使用的不是其他的Eclipse的IDE下載獨(dú)立JAR。獨(dú)立JAR包括一個(gè)Ant任務(wù)運(yùn)行iBATOR,也可以從Java代碼在命令行運(yùn)行iBATOR。
要運(yùn)行iBATOR,請(qǐng)按照下列步驟 -
創(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è)例子。
將該文件保存在方便的位置,例如在: TEMP ibatorConfig.xml。
現(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ō)明。
運(yùn)行iBATOR后,您需要?jiǎng)?chuàng)建或修改其他iBATIS的配置工件。主要工作如下 -
每個(gè)任務(wù)將在下面詳細(xì)描述的 -
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特定需求如下: -
例如,假設(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>元素的順序排列。
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的需要。
更多建議: