Web | This Site

iBATIS Tutorial
iBATIS Quick Guide
iBATIS Useful Resources
Selected Reading
© 2011 TutorialsPoint.COM

| Home |  | References |  | Discussion Forums |  | About TP

# 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-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:

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

    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

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

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

Advertisement

Online Image Processing

Indian Baby Names