iBatis to MyBatis migration efforts?

Satish Pandey picture Satish Pandey · Aug 18, 2012 · Viewed 15.2k times · Source

I am using iBatis-2.3.4.726 in my production application. I want to migrate my production application to use MyBatis.

What points i need to consider while migration process?

Is there any configuration changes or MyBatis supports iBatis configuration as deprecated commands?

Answer

Michał Rybak picture Michał Rybak · Nov 20, 2013

Before using migration guide mentioned by Satish, make sure that you've read all the comments, especially the last one that list which changes have to be done manually after using converter:

  • <procedure> is deprecated in mybatis. Converter is changing this to <update>. This will create problems where we need result set from procedure call. So manually updated with <select>.
  • Dynamic query part mentioned inside <dynamic> tag are not converted by tool
  • Both # and $ can be escaped by doubling in iBatis. This is not required in mybatis.
  • typeAlias should be defined in sql-map-config instead of mapper itself.
  • When result map with groupBy changed into mybatis style using collection, id property is not set properly by the converter.
  • jdbcType="INT" is not recognized in mybatis. Updated to "INTEGER"
  • nullValue in resultMap deprecated, we need to update query with ISNULL expression.

What I'd like to add is that converter seems to drop timeout parameter that could be present in <procedure> tag in iBatis. Make sure to copy all occurences to the generated XML.