mybatis相较于ibatis有什么优势?两者的区别在哪里?

时间:2022-08-12 21:39:33

1.ibatis自从2010年被Apache交给Google code托管以后,就已经停止更新维护了。

2.可以说mybatis是ibatis的升级版本,两者的区别ibatis读取sqlid的方式是在DAO实现类中通过xml映射文件中namespace+sqlid的方式。

3.而在mybatis中,由于mybatis已经实现了DAO接口与xml映射文件的绑定,所以只要我们DAO接口中的方法名与xml映射文件中的sqlid名称一致即可通过访问DAO接口的方法名找到对应的sqlid。

4.xml配置文件中也有调整,在ibatis中只要数据库中加了字段对应resultMap中的字段也要添加,而mybatis通过开启驼峰规则配置,很容易解决这个问题。

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

6.元素参数命名的变化

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

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