在開始使用iBATIS開發之前,必須設定你的環境正常。本教學將指導您用幾個步驟來實現的工作環境。
這裡有幾個簡單的步驟,需要開展Linux機器上安裝iBATIS:
下載iBATIS的最新版本 下載iBATIS.
解壓下載的檔案,從包中提取.jar檔案並將其儲存在相應的lib目錄下。
在提取 .jar檔案適當設定PATH和CLASSPATH變數。
下面是進行Linux機器下載iBATIS的二進位制檔案的步驟:
$ unzip ibatis-2.3.4.726.zip inflating: META-INF/MANIFEST.MF creating: doc/ creating: lib/ creating: simple_example/ creating: simple_example/com/ creating: simple_example/com/mydomain/ creating: simple_example/com/mydomain/data/ creating: simple_example/com/mydomain/domain/ creating: src/ inflating: doc/dev-javadoc.zip inflating: doc/user-javadoc.zip inflating: jar-dependencies.txt inflating: lib/ibatis-2.3.4.726.jar inflating: license.txt inflating: notice.txt inflating: release.txt $pwd /var/home/ibatis $set PATH=$PATH:/var/home/ibatis/ $set CLASSPATH=$CLASSPATH:/var/home/ibatis /lib/ibatis-2.3.4.726.jar
使用下面的語法在 MySQL資料庫中建立EMPLOYEE表:
mysql> CREATE TABLE EMPLOYEE ( id INT NOT NULL auto_increment, first_name VARCHAR(20) default NULL, last_name VARCHAR(20) default NULL, salary INT default NULL, PRIMARY KEY (id) );
考慮以下幾點:
我們將使用JDBC來存取資料庫 testdb.
MySQL的JDBC驅動程式是 "com.mysql.jdbc.Driver".
連線URL是 "jdbc:mysql://localhost:3306/testdb".
使用的使用者名和密碼是 "root" and "root".
SQL語句對映的所有操作將被描述在"Employee.xml".
基於上述假設,我們必須建立一個XML組態檔案,nameSqlMapConfig.xml以下內容。這就是需要提供所需的iBatis的所有組態:
這兩個檔案SqlMapConfig.xml和Employee.xml 存在於類路徑。現在,我們將保持Employee.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> <settings useStatementNamespaces="true"/> <transactionManager type="JDBC"> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/> <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/testdb"/> <property name="JDBC.Username" value="root"/> <property name="JDBC.Password" value="root"/> </dataSource> </transactionManager> <sqlMap resource="Employee.xml"/> </sqlMapConfig>
還有其他一些可選的屬性,您可以在SqlMapConfig.xml檔案中設定:
<property name="JDBC.AutoCommit" value="true"/> <property name="Pool.MaximumActiveConnections" value="10"/> <property name="Pool.MaximumIdleConnections" value="5"/> <property name="Pool.MaximumCheckoutTime" value="150000"/> <property name="Pool.MaximumTimeToWait" value="500"/> <property name="Pool.PingQuery" value="select 1 from Employee"/> <property name="Pool.PingEnabled" value="false"/>