iBatis 3 is alive!

I had a discussion with Jira recently, whether we could be still looking forward to iBatis 3. It has been long time since iBatis 3 Whiteboard was seriously touched and I haven't found any other clue when or whether there is going to be iBatis 3. There is very small activity for 3.x version in Jira, though there were some commits into iBatis 3 core. As I am going to have a speech in University Hradec Králové on iBatis, I have decided to ask directly its authors about this issue.

The answer I've received and considered very delighting I quote on following lines:

Hi Jan,

Let me address a few of your assertions, and then I can give you an update:

  • First, Kai is right, iBATIS 2 has reached it's "feature completeness" -- we won't add any new significant features to it. We'll maintain it and fix bugs.
  • As far as Java 5 goes, iBATIS 2 supports Enums and Generics as well as iBATIS 3 ever will (with the exception of interface binding, which will benefit from generics and annotations).
  • The iBATIS 3 Whiteboard hasn't been touched because it too is complete. It's purpose was to gather thoughts and provide a forum for debate.
  • What I guess hasn't been communicated is that development of iBATIS 3 is well under way, and nearing a Beta release. We should put up a blog for this... long overdue.
  • You can find the iBATIS 3 source here: http://svn.apache.org/repos/asf/ibatis/trunk/java/ibatis-3/

The core of iBATIS 3 is complete and in fact it runs the full suite of iBATIS 2 and JPetStore 5 unit tests, as well as its own comprehensive suite of tests. The new XML structure has been implemented and is far less verbose than the current one. Many improvements have been made to the core implementation of mappings, auto mappings, join mapping, caching, transaction management, batching, autocommit (real autocommit) and many other areas of the framework have been greatly improved and modernized.

The features remaining to be implemented at this time are:

  • Interface Binding
  • Annotation based configuration
  • New Dynamic SQL

Beyond that it will need some volunteers for Q/A and performance testing. It's a complete rewrite and one would be hard pressed to find a single method shared between the two.

I don't have an ETA, as I'm very busy. But we should see significant new progress made by the end of February.

I'll see if we can get a team blog up, possibly to replace the homepage so that we can report more regularly on the status.


Finally, there is no doubt what situation is around iBatis. I hope that you are as glad as I am.

And it there are any volunteers among you to provide Q/A and performance testing, just subscribe to iBatis mailing list and contact Clinton Begin.