Hibernate的缺陷:
Hibernate对数据库提供了非常完整的封装,实现了从POJO到数据库的全套映射机制。我们仅仅需要定义好POJO到数据库表的映射关系,
就可以操作Hibernate API进行持久层的操作了。在这种情况下程序员不需要熟练的操作SQL,Hibernate能够自动生成对应的SQL并调用JDBC接口执行。但是,面对特殊情况的时候:例如:
1,某些银行业务,系统的全部数据来自现有数据库,出于安全考虑,开发小组只能得到几条SQL或大量的储存过程来进行所需数据获取,看不到具体表的结构。
2,系统要求所涉到的业务逻辑部分的数据库操作必须通过储存过程来实现。
3,系统数据量庞大,要求极其苛刻的性能表现。
以上种种不足就导致了ibatis的出现,以解决这些需求
Mybatis优势
MyBatis可以进行更为细致的SQL优化,可以减少查询字段。
MyBatis容易掌握,而Hibernate门槛较高。
Hibernate优势
Hibernate的DAO层开发比MyBatis简单,Mybatis需要维护SQL和结果映射。
Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。
Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。
Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳。
PS:hibernate是在jdbc上进行了一次封装,而mybatis基于原生的jdbc,因此mybatis天生就有运行速度上的优势。
另外,网上早就有很多根据注释自动生成SQL的插件,并不需要自己手写SQL语句!!!!阿西吧!!兼职不要太爽!!哈哈哈哈哈哈哈哈
相关文章
- Hibernate 与mybatis的区别
- 与数码航空摄影相比,机载激光雷达的独特优势
- 跟双电源相比,EPS应急电源的优势在哪里?
- hibernate与mybatis的区别和应用场景
- Hibernate和Mybatis的对比
- 自我理解node.js相比java的优势
- 基于Spring4+SpringMVC4+Mybatis3+Hibernate4+Junit4框架构建高性能企业级的部标GPS监控平台
- 【日志】Java日志工具(common-logging/log4j/slf4j)在常用框架(Struts2/Spring/Hibernate/Mybatis)中的灵活运用
- Spark相比MapReduce的优势
- Kafka相比于HDFS的优势