iBATIS配置環境

在開始使用iBATIS開發之前,必須設置你的環境正常。本教程將指導您用幾個步驟來實現的工作環境。

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)
);

創建SqlMapConfig.xml

考慮以下幾點:

  • 我們將使用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文件爲空,我們將格式轉換的在隨後的章節內容。

<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"/> <sqlMap resource="Employee.xml"/>

還有其他一些可選的屬性,您可以在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"/>