Ibatis 简明教程

iBATIS - Environment

在开始实际开发工作之前,您必须为 iBATIS 设置适当的环境。本章介绍如何为 iBATIS 设置工作环境。

iBATIS Installation

执行以下简单步骤在您的 Linux 机器上安装 iBATIS −

  1. Download iBATIS 下载 iBATIS 的最新版本。

  2. 解压缩下载的文件以从捆绑包中提取 .jar 文件,并将其保存在适当的 lib 目录中。

  3. 在提取的 .jar 文件中适当设置 PATH 和 CLASSPATH 变量。

$ 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

Database Setup

使用以下语法在任何 MySQL 数据库中创建“员工”表——

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

Create SqlMapConfig.xml

考虑以下内容——

  1. 我们将使用 JDBC 访问数据库 testdb

  2. MySQL 的 JDBC 驱动程序是 “com.mysql.jdbc.Driver”。

  3. Connection URL is "jdbc:mysql://localhost:3306/testdb".

  4. 我们的用户名和密码分别是 “root” 和 “root”。

  5. 所有操作的 SQL 语句映射都将在 “Employee.xml” 中描述。

根据上述假设,我们需要创建名为 SqlMapConfig.xml 的 XML 配置文件,其中包含以下内容。你需要在此配置中提供 iBatis 所需的所有配置——

SqlMapConfig.xml 和 Employee.xml 两个文件都必须放在 class 路径中。现在,我们将保持 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"/>