在开始实际开发工作之前,您必须为iBATIS设置合适的环境.本章介绍如何为iBATIS设置工作环境.
执行以下简单步骤在Linux机器上安装iBATIS :
下载最新版本的iBATIS.
解压缩下载的文件以从包中提取.jar文件并将它们保存在适当的lib目录中.
在提取的.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
使用以下语法在任何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"和"root".
我们对所有操作的sql语句映射将在"Employee.xml"中描述.
基于上述假设,我们必须创建一个名为 SqlMapConfig.xml 的XML配置文件,其中包含以下内容.这是您需要提供iBatis和minus所需的所有配置的地方;
重要的是,类路径中应存在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"/>