ibatis eclipse外掛和配置檔案的使用
1:abator下載:http://ibatis.apache.org/abator.html
2:將abator安裝到eclipse中
3:此時可以新建一種檔案型別:Abator for iBATIS Configuration File,建立一個
4:在 jdbcConnection 中設定要mapping的資料庫的jdbc連線
classPathEntry 是你的jdbc driver類路徑
5:javaModelGenerator,sqlMapGenerator,daoGenerator 分別設定 java dataObject、sql mapping檔案和 DAO 介面、實現類的生成位置:targetPackage 目標包,targetProject:eclipse專案
6:daoGenerator 中可以設定屬性 type: ibatis 或 spring 指定生成的dao實現類是使用com.ibatis.dao.client.template.SqlMapDaoTemplate
還是
org.springframework.orm.ibatis.support.SqlMapClientDaoSupport
7: table 中 tableName 指定要處理的表名
可以有多個table
8:table中可以包含子元素 generatedKey: 使Insert方法可以返回值--由指定的column mapping
9:generatedKey中的sqlStatement屬性可以是獲取sequence的SQL,也可以是獲取自增值的SQL
比如:Oracle的 select theSequence.nextVal from dual
SQLServer的 SELECT @@IDENTITY as column_name
10:儲存檔案,選中檔案,右鍵選單選擇Generate iBATIS Artifacts!
所有的引數都是寫在這個根節點中,下面可以用 來生成個自的iBATIS配置檔案、Java Bean和DAO
abatorContext的一個屬性generatorSet有3個選項Legacy、Java2、Java5
Legacy:如果沒有generatorSet屬性的話,預設是Legacy。但並不推薦使用Legacy因為它在生成Example類(用於查詢條件)的時候有很多限制,他將查詢條件寫在sqlMap配置檔案中,將查詢值寫在Example中,這樣就對修改產生一些困難。
Java2和Java5:他們只支援iBATIS 2.20以上的版本。在以這個模式成生的Example檔案中包含了查詢條件和查詢值。這樣修改就方便多了,對於用join的select時的查詢就更方 便了,自己可以定義查詢條件,自由度高了很多(對於join的and查詢可能還得自己修改一下Example程式碼)。對於or和and的應用Legacy 的限制就比較大了。
描述了JDBC的屬性和其jar包的位置.
、 、 描述了個自生成的位置。中type屬性則用來告訴abator生成的DAO是用於iBATIS還是SPRING等容器。
xml 程式碼
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE abatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Abator for iBATIS Configuration 1.0//EN"
"http://ibatis.apache.org/dtd/abator-config_1_0.dtd">
<abatorConfiguration>
<abatorContext generatorSet="Java2"> <!-- TODO: Add Database Connection Information -->
<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@192.168.80.119:1521:po2db"
userId="lnga"
password="123">
<classPathEntry location="D:/LNGA/lnga/project/trunk/src/main/webapp/WEB-INF/lib/classes12.jar" />
</jdbcConnection>
<javaModelGenerator targetPackage="com.iflytek.model.pojo" targetProject="lnga" />
<sqlMapGenerator targetPackage="com.iflytek.dao.sqlMap" targetProject="lnga" />
<daoGenerator type="SPRING" targetPackage="com.iflytek.dao" targetProject="lnga">
<property name="enableSubPackages" value="true" ></property>
</daoGenerator>
<table tableName="AJCB_ANJIAN" ></table>
<table tableName="AJCB_ANJIANBEIZHU">
</table>
</abatorContext>
</abatorConfiguration>