iBatis to MyBatis migration efforts?

ibatis, mybatis

Solution

Before using migration guide mentioned by Satish (new repo link / wiki), 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.

Problem

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?

Original source