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檔案為空,我們將格式轉換的在隨後的章節內容。

<?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"/>