myBatis,iBatis和hibernate的区别

一.定义

(1)myBatis是用于操作数据库的持久层框架;

(2)iBatis实际上就是myBatis前身,它相对HibernateApacheOJB等“一站式”ORM解决方案而言,ibatis 是一种“半自动化”的ORM实现;

(3)Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行。

二、区别

(1)mybatis

优点:

  • 开发人员可以直接编写SQL,另外可以通过修改sql进行对数据库的优化;
  • sql可以编写,灵活多变,容易维护,容易学习

缺点:

  • 移植性不好,不支持数据库无关性,当数据库变更时需要编写多套代码;
  • 需要配置全局配置文件和接口和SQL的映射文件

(2)Hibernate

  • 标准的orm框架,开发人员不需要写sql;
  • 支持数据库无关性,切换数据库无需重新修改sql,只需要修改方言即可
  • 学习成本高,难于上手,需要对数据关系模型有良好的的基础
  • 开发人员不能自主的进行sql优化

三、mybatis和ibatis语法上的区别

(1)两种框架均支持sql片段

(2)ibatis中##与mybatis中的#{}一样,$$与${}一样;

(3)判断语句

     MyBatis的很简单,只要在where 或者if  的标签里面添加test=""就可以了,里面写判断条件了。
     IBatis的就麻烦了许多了,它将每个都方法都进行了封装,如<isNull>。
例如:
isNull:判断property字段是否是null        
<isNull prepend="and" property="id">   </isNull>
 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值