我在生产应用程序中使用 iBatis-2.3.4.726。我想迁移我的生产应用程序以使用 MyBatis。
迁移过程中我需要考虑哪些要点?
是否有任何配置更改或 MyBatis 支持 iBatis 配置作为已弃用的命令?
在使用Satish 提到的迁移指南之前,请确保您已阅读所有评论,尤其是最后一个列出使用转换器后必须手动完成更改的评论:
<procedure>
在 mybatis 中已弃用。转换器正在将其更改为<update>
. 这将在我们需要来自过程调用的结果集的地方产生问题。所以手动更新<select>
。<dynamic>
标签内提到的动态查询部分不被工具转换- 两者都
#
可以$
通过在 iBatis 中加倍来逃脱。这在 mybatis 中是不需要的。typeAlias
应该定义在sql-map-config
而不是映射器本身。- 当使用 将结果映射
groupBy
更改为 mybatis 样式时collection
,id
转换器未正确设置属性。jdbcType="INT"
在mybatis中不识别。更新为"INTEGER"
nullValue
在resultMap
已弃用的情况下,我们需要使用ISNULL
表达式更新查询。
我想补充的是,转换器似乎删除timeout
<procedure>
了 iBatis 标签中可能存在的参数。确保将所有出现的事件复制到生成的 XML。
迁移过程非常简单,我从这里得到了答案
希望这对你也有帮助。
Github上有一个工具,三步完成转换。
注意转换可能会失败!我收到如下消息:对不起,我无法迁移 WHERE 请参阅控制台输出了解更多详细信息。希望这可以帮助