iBATIS - Environment


Before you start with actual development with iBATIS, you would have to setup your envrionment properly. This tutorial would guide you with few steps to achieve a working environment.

iBATIS Installation:

Here are the simple steps you would need to carry out to install iBATIS on your Linux machine:

  • Download latest version of iBATIS from Download iBATIS.

  • Unzip the downloaded file to extract .jar file from the bundle and keep it in appropriate lib directory.

  • Set PATH and CLASSPATH variables at the extracted .jar file(s) appropriately.

Here are the steps I carried out on my linux machine after downloading iBATIS binary file:

$ unzip ibatis-
   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-
  inflating: license.txt
  inflating: notice.txt
  inflating: release.txt
$set PATH=$PATH:/var/home/ibatis/
$set CLASSPATH=$CLASSPATH:/var/home/ibatis\

Database Setup:

Create EMPLOYEE table in any MySQL database using the following syntax:

            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

Consider the following:

  • We are going to use JDBC to access the database testdb.

  • JDBC driver for MySQL is "com.mysql.jdbc.Driver".

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

  • We would use username and password is "root" and "root".

  • Our sql statement mappings for all the operations would be described in "Employee.xml".

Based on the above assumption we have to create an XML configuration file with name SqlMapConfig.xml with the following content. This is where you need to provide all configurations required for iBatis:

It is important that both the files SqlMapConfig.xml and Employee.xml should be present in the class path. For now we would keep Employee.xml file empty and we would conver its content in subsequent chapters.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"

     <settings useStatementNamespaces="true"/>
     <transactionManager type="JDBC">
        <dataSource type="SIMPLE">
          <property name="JDBC.Driver" 
          <property name="JDBC.ConnectionURL"
          <property name="JDBC.Username" value="root"/>
          <property name="JDBC.Password" value="root"/>
     <sqlMap resource="Employee.xml"/> 

There are other optional properties which you can set using SqlMapConfig.xml file:

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