在開始使用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"/>