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