Consulting Training Blog Careers About Us Contact Us

Complete iBATIS Training

Upcoming Classes

Sorry, nothing scheduled right now. Click the Get Notified button below to be alerted when a class is scheduled.

Get Notified

On Site/Private

Can't find a class that fits right for you? Contact us to inquire about scheduling your own private class

Contact Us


There are plenty of persistence frameworks in the Java community. iBATIS is an open source "data mapper" framework. Data mappers do not tie classes to tables or class fields to columns. Instead, a data mapper maps parameters and results of SQL statements to classes and fields. This makes iBATIS a simple and lightweight persistence framework. By removing the repetitive and error prone work, iBATIS helps remove developers from focusing on low level JDBC code. In fact, the iBATIS documentation states the goal of iBATIS is to “provide 80% of JDBC functionality using only 20% of the code.”

This hands on course will expose developers to this open source framework while also teaching awareness of some real-world memory, performance and other issues that are associated to any persistence framework. After taking this class, your developers should be able to persist the data in Java objects faster and build applications that are more flexible and easier to maintain.


Bring This Course To You

For groups of 5 or more, let Intertech bring this course to your location. Customized versions tailored towards your objectives are also available.

Learn More

Learning Objectives

  • Gain an understanding of iBATIS as a data mapper and how it differs from other persistent frameworks like Hibernate and JPA in Java
  • Learn how to retrieve relational data into Java objects using the iBATIS framework
  • Explore methods of inserting, updating, and removing data from the database using iBATIS and Java objects
  • See how to relate objects and automatically have iBATIS retrieve data for associated objects
  • Explore performance and memory issues associated with object relationships
  • See how to utilize lazy loading in iBATIS to reduce the number of objects in memory
  • Understand how to solve the N+1 selects issue in iBATIS
  • Study how iBATIS handles class inheritance
  • Learn the four different levels or scopes of transactions that iBATIS supports
  • See and use iBATIS Dynamic SQL tags for generating SQL at runtime 


This course is designed for Java programmers who have interest in learning how to persist Java object data using the iBATIS open source data mapper framework. 


A solid understanding of Java is required. An understanding of relational databases, SQL and JDBC is helpful.

Course Outline

iBATIS Overview
  • What is iBATIS?
  • Why use iBATIS?
  • Why not use iBATIS?
  • iBATIS Setup
  • Central Configuration File
  • General iBATIS Resources
  • A Simple Example
  • SqlMap API
  • SqlMap file
  • Result Mapping
  • In-line Parameters
  • External Parameter Maps
  • The SqlMapClient interface
  • Scalar results
  • SQL Map Namespaces
  • Naming Conventions
Non-query Statements in iBATIS
  • SQL Map Statements for non-query
  • More on the SqlMap API
  • In-line and External Parameters Revisited
  • Updates
  • Autogenerated Keys
  • Setting up relationships in iBATIS
  • Relationship Issues
  • Lazy Loading
  • Dealing with N+1
  • Inheritance
  • What’s a Transaction?
  • Automatic Transactions
  • Local Transactions
  • Global Transactions
  • Custom Transactions
Dynamic SQL
  • What is Dynamic SQL?
  • The dynamic tag
  • Binary Tags
  • Unary tags
  • Parameter tags
  • The iterate tag

Free Resources from Intertech

Free On-Demand Video Bundle: IoT, Agile/Scrum, and Leadership

Free eBook: Mastering The Daily Agile Stand-Up

Free Recorded Webinar - Creating Dynamic LINQ Statements with Expression Trees