ibatis和mybatis的区别是:1. 传入参数;2. 接收参数;3. 判断语句;4. 循环的使用。其中,iBatis是parameterClass,而MyBatis是可以不写的,也可以用parameterType;parameterClass,而MyBatis是可以不写的,也可以用parameterType。
一、ibatis和mybatis的区别
1.传入参数
iBatis是parameterClass,而MyBatis是可以不写的,也可以用parameterType;parameterClass,而MyBatis是可以不写的,也可以用parameterType;
iBatis的传出参数关键字是:resultClass,而MyBatis是resultMap。
iBatis: <select id=”selectDeviceByWhere” parameterClass=”Map” resultClass=”BaseResultMap”> </select>
MyBatis:<select id=”selectDeviceByWhere” parameterType=”Map” resultMap=”BaseResultMap”> </select>
2.接收参数
IBatis是使用# #和$ KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 23: …使用方法等同于MyBatis;#̲ #=#{ }, ==={ } ,解释一下#和KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 5: 的区别,#̲字符串处理,加单引号,可以一定…直接使用,当传入的是数字时,用#会进行隐式转换为字符串,耗性能。IBatis是使用# #和$ KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 23: …使用方法等同于MyBatis;#̲ #=#{ }, ==={ } ,解释一下#和KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 5: 的区别,#̲字符串处理,加单引号,可以一定…直接使用,当传入的是数字时,用#会进行隐式转换为字符串,耗性能。
3.判断语句
这个也是非常常用和重要的地方。
对于MyBatis的很简单,只要在where 或者if 的标签里面添加test=””就可以了,里面写判断条件了。但是IBatis的就麻烦了许多了,它将每个都方法都进行了封装。例如
isNull:判断property字段是否是null
4.循环的使用
iBatis是使用Iterate:这属性遍历整个集合,并为 java.util.List 集合中的元素重复元素体的内容。例如
<isNotEmpty property=”deptIds”>
and dept_id in
<iterate property=”deptIds” open=”(” close=”)” conjunction=”,”>
#deptIds[]#
</iterate>
</isNotEmpty>
deptIds是数组类型的属性值,当deptIds不为null或“”时,进行deptIds遍历取值。
MyBatis使用的是ForEach方法。他可以遍历List,,Map三种元素。
延伸阅读:
二、ibatis过渡为mybatis
对于从事Java EE的开发人员来说,iBatis 是一个再熟悉不过的持久层框架了,iBatis 可以算是在所有主流的持久层框架中学习成本最低,最容易上手和掌握的框架。虽说其他持久层框架也号称门槛低,容易上手,但是等到你真正使用时会发现,要想掌握并用好它是一件非常困难的事。
iBatis 自从在Apache软件基金会网站上发布至今,和他的明星兄弟们(Http Server,Tomcat,Struts,Maven,Ant等等)一起接受者万千 Java 开发者的敬仰。然而在当时,几乎是发布 3.0版本的同时,iBatis主页上的一则Apache iBATIS has been retired(退休)的声明在社区引起了一阵不小的波澜。在Apache寄居六年之后,iBatis将代码托管到Google Code。在声明中给出的主要理由是,和Apache相比,Google Code更有利于开发者的协同工作,也更能适应快速发布。于此同时,iBatis 更名为 MyBatis
从iBatis到MyBatis,不只是名称上的变化,MyBatis提供了更为强大的功能,同时并没有损失其易用性,相反,在很多地方都借助于JDK的泛型和注解特性进行了简化。iBatis 确实该退休了,因为一个更为出色的继任者经过 10个 Beta 版本的蜕变已然出现在我们的面前。
以上就是关于ibatis和mybatis的区别的内容希望对大家有帮助。