hibernate

本文探讨了Hibernate与MyBatis两种持久层框架的区别。从设计思路、面向对象与SQL的角度解析两者特性,并分析了它们在性能上的差异及学习成本。适合希望了解这两种框架优缺点的技术人员。

hibernate和mybaits比较

1)  设计思路,hibernate全面向对象映射框架ORM,mybatis半ORM映射框架。mybaits后半部分(和数据库)是面向过程,面向SQL,面向结果集ResultSet。

2)  hibernate面向对象HQL(对象),mybatis面向SQL,使用SQL

mybatis :           selectid,name form user         user代表是表

hibernate:        fromUser         User对象,在映射文件中配置java类

                            select* from user

3)  性能比,mybatis。按需查询,hibernate按对象,把对象所有的属性值全都查出来。

4)  hibernate对象性能进行极大优化,思路。hiernate一级缓存,二级缓存,懒加载

j2ee java2 Enterprise Edition企业级,EJB(你写一个javabean,按特殊规范,天然就是分布式,天然就是负载均衡),比较死板,麻烦。EntityBean天然分布式(如果有10个查询条件,组合100种,写100个EntiryBean。因为where不一样。新增,修改,删除),BusinessBean(查询)。正因为麻烦所以现在很少使用。

hibernate登上历史台

批量提交,jdbc新增数据直接进入数据库。hibernate新增后,没有立刻提交,放在一级缓存,用户不能触摸。当遇到特殊的动作,会自动提交(积累很多数据,批量,减少了数据库交互,)。

懒加载,例如:部门和用户,一对多关系。面向对象编程。查询部门,部门下面有子对象,接着把下面的所有用户查出,查询用户就要把部门查出来,查询部门就要把用户差出来。(死循环)。按上面需求,先把部门查出来就返回给用户,这里不光部门,还有部门关联用户,但是只有用户的id。要访问用户,因为有了id,按id再次发出请求去查询。你不调用就不查,你调用子对象的属性就去查询。

5)  hibernate学习成本高,mybatis学习成本低

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值