mybatis相对于ibatis的优势是什么?

TheDisguiser 2020-07-27 16:28:08 java常见问答 4221

对于当前而言,ibatis已经可以说是过去式了,大部分都钟情于mybatis,那mybatis相对于ibatis又有什么优势呢?小伙伴们知道吗?下面听小编为你介绍介绍吧。

一、版本维护

自从2010年被Apache转交于Google code托管后,ibatis就已经停止更新维护了。Mybatis不同,到现在为止还是更新维护

二、功能差距

我们一可以理解为mybatis是ibatis的升级版本,它们的区别在于ibatis读取sqlid的方式是在DAO实现类中通过xml映射文件中namespace+sqlid的方式。

但在mybatis中,因为mybatis已经实现了DAO接口与xml映射文件的绑定原因,所以我们只要将DAO接口中的方法名与xml映射文件中的sqlid名称保持一致即可通过访问DAO接口的方法名找到对应的sqlid。

三、配置文件调整

它们两者在xml配置文件中也有距离,在ibatis中,只要数据库中加了字段对应resultMap中的字段也要添加,但mybatis的话只要开启驼峰规则配置,就可以解决这个问题。

四、表达式的不同

mybatis支持OGNL表达式等进行条件判断,ibatis只支持少数几种规定的判断元素。

五、元素参数命名的变化

Mybatis里,select元素中resultClass更名为resultType,ParameterClass更名为parameterType;

存储过程定义的变化,由procedure元素定义改为select元素,通过statementType=callable来区分存储过程和普通sql语句

以上就是本篇文章的所有内容,java架构师是程序员的进阶版本,如果小伙伴们还想了解更多有关java架构师职业的消息就快来关注我们吧。

推荐阅读:

mybatis分页查询如何实现?实现方式整理

mybatis如何执行批处理?批处理执行器详解

mybatis plus分页怎么做?如何实现?