Ibatis与Hibernate的区别

Hibernate现在是主流框架,谁也不可否认,我也用,同样作为优秀的ORM框架Ibatis虽然不如Hibernate强势但也有着自己的市场竞争力,下面总结下Hibernate与Ibatis之间的区别:

1、封装上的区别

同样作为ORM对象关系映射框架,Hibernate对数据库表与java对象实体之间的映射有着完美的封装。实体类名与数据库表名、实体类成员变量与数据库字段都是一一对应的,还有与其他表之间的映射关系,就连字段的长度也在Hibernate的配置文件中配置了。

而且Hibernate可以自动生成sql语句并调用JDBC执行。

而Ibatis呢,Ibatis封装的是sql语句需要的参数与返回的结果 和 数据库表的字段的对应映射,Ibatis的sql语句需要程序员自己完成。

很显然,使用Hibernate框架开发会在开发效率以及代码简介的程度上压过Ibatis一头。但话说回来,存在就有存在的道理,Ibatis侧重的是sql的灵活掌控。


2、灵活性上

接着上文说,Ibatis对sql的灵活程度是优于Hibernate的,其实Ibatis就是牺牲了开发效率和数据库的可移植性来换取了sql的灵活应用,对于善于数据库编程的程序员,还是比较不错的选择。

还有一方面,有的系统数据量庞大、对性能要求很高,这个时候我们就应该选择Ibatis,因为我们可以对sql进行更加细粒度的优化。

在一方面,有的项目涉及到保密,开发过程中不会让程序员知道数据库的数据结构,这个时候选择Ibatis要比Hibernate方便的多。

3、数据库的可移植性

不用说,我们在Ibatis项目中写的sql语句的语法肯定是针对某一种数据库的,换了数据库指定不好使。对于Hibernate来说就不会出现这个问题了。

4、学习成本上

Hibernate入门门槛高,想要精通更难,Ibatis入门门槛低,容易上手。团队中没有Hibernate高手的话最好还是选择Ibatis,否则没等你体会到Hibernate的方便之处你就被他的复杂的OR映射折磨死了。

5、Hibernate文档方面要比Ibatis健全的多。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值