开发者社区> 问答> 正文

[@项籍][¥20]我现在应用的数据持久层用的是ibatis ,想切换成mybatis,不知道会不会影响到正常业务?

我现在应用的数据持久层用的是ibatis ,想切换成mybatis,不知道会不会影响到正常业务?

展开
收起
老头不老 2018-10-30 19:14:27 2106 0
1 条回答
写回答
取消 提交回答
  • 因此MyBatis是以iBatis为基础扩展而来,具备许多新的特性; 相对而言,iBatis使用起来较为复杂,并且目前已无人维护,所以我也建议题主进行ibatis升级,这对业务并不会产生影响。

    下面简单谈下MyBatis相较于ibatis的优点吧:
    我猜题主本身用的是ibatis2.x,在这个版本中我们需要在DAO的实现类中指定具体对应哪个xml映射文件,而从2.x升级到了3.x也就是MyBatis时,Mybatis自动会实现DAO接口中的方法与xml映射文件中的方法绑定,并且自动生成相应接口的具体实现,这比ibatis省事不少。
    并且Mybatis在if表达式里可以使用OGNL表达式,ibatis就只能使用一些固定的标签,这可以帮助我们使用任何第三方框架的方法进行判断查询条件,如以下语句:
    image
    mybatis的其他一些特性可以参考下:http://www.mybatis.org/mybatis-3/zh/index.html

    当然如果项目比较庞大,在保证业务不受干扰的情况下升级ibatis的工作量会比较大,将会有一个不断试错的过程,这里找寻了一些升级步骤和总结,希望可以帮助到你:
    https://blog.csdn.net/isea533/article/details/41517531
    https://blog.csdn.net/u010856276/article/details/82146607

    2019-07-17 23:11:24
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第6讲】:Spring Boot 2.0实战MyBatis与优化(Java面试题) 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载