通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

ibatis和mybatis有什么区别

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的区别的内容希望对大家有帮助。

相关文章