Hibernate与Mybatis的关系

初级程序员一枚,第一次写总结便于自己查看,如果能能帮到各位也是极好的,有错误的话希望指正,不喜勿喷。。。

相同点:

1、都替换了Dao层

2、都对占位符做了不同的处理

3、数据库只认Sql语句,最终都转换为Sql语句

4、Hibernate和Mybatis底层都是对JDBC的封装;

5、都是SessionFactoryBuilder通过XML配置文件生成SessionFactory,再继续生成Session,然后由Session对Sql语句以及事务进行管理, SessionFactoryBuider,SessionFactory,Session的生命周期都是差不多的。

区别:

1、Hibernate 上手比较难;

2、Hibernate 比较庞大,初始化时间比较长;

3、Hibernate 对缓存的管理比较优秀;

4、Hibernate的Sql日志文件由于是系统生成的,所以相当难看;

5、如果说表中数据较大的话,要进行分表,那么Hibernate对其没有一点办法,因为Hibernate的Hql是根据pojo及属性来进行查询的,而Mybatis是原生的Sql语句;

6、Hibernate的插件比较多;

7、保存记录:Hibernate返回的是主键;Mabatis返回的是影响条数,对象的id;

8、Hibernate的查询使用的是类名和属性名;Mybatis使用的是原生的Sql语句;

9、二级缓存:都需要在配置文件里写cache标签,Mybatis需要将pojo序列化;

 

转载于:https://my.oschina.net/u/3030491/blog/805675

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值