Introduction to Ibator

Ibator is a code generator for iBATIS. Ibator will introspect a database table (or many tables) and will generate iBATIS artifacts that can be used to access the table(s). This lessens the initial nuisance of setting up objects and configuration files to interact with database tables. Ibator seeks to make a major impact on the large percentage of database operations that are simple CRUD (Create, Retrieve, Update, Delete). You will still need to hand code SQL and objects for join queries, or stored procedures.

Ibator will generate:

Ibator is designed to run well in an iterative development environment, and Ibator can even be included as an Ant task in a continuous build environment. Important things to note when running Ibator iteratively include:

  1. Ibator will automatically merge XML files if there is an existing file with the same name as the newly generated XML file. Ibator will not overwrite any custom changes you make to the XML files it generates. You can run it over and over again without fear of losing custom changes to you XML. Ibator will replace any XML elements that were generated in a previous run.
  2. Ibator will not merge Java files, it can either overwrite existing files or save newly generated files with a different unique name. If you make changes to the generated Java files and run Ibator iteratively you will have to merge the changes by hand. When run as an Eclipse plugin, then Ibator can automatically merge Java files.


Ibator has no dependencies beyond the JRE. Ibator does require JRE 5.0 or above. Ibator also requires that the JDBC driver implements the DatabaseMetaData interface, especially the getColumns and getPrimaryKeys methods.

About the Name

"Ibator" is an iBATIS styled version of the noun abator. "Abator" means "one who abates a nuisance". This describes the purpose of Ibator - it abates some of the nuisance of creating objects and configuration files for iBATIS.

Ibator was originally named "Abator", but the name was changed as the result of a federal trade registration dispute.


Support for Ibator is provided through the iBATIS user mailing list. You may subscribe to the mailing list by sending a note to:

Once you have subscribed, you can mail questions or bug reports to:

If you want to unsubscribe from the mailing list, send a note to:

If you think you have found a bug, please ask a question about it on the user list first, before creating a JIRA issue. If you find a bug, or have a new feature request, you may open a JIRA issue for Ibator at

Please select the "Tools" component when creating any JIRA issues for Ibator.