MyBaits与Hibernate的区别

相同点:都是持久层的框架,都用于dao层的开发。
不一样点:
1.       hibernate对sql语句作了封装,使用HQL语句操做数据库。数据库无关性支持好,在项目须要支持多种数据库的状况下,代码开发量少,sql语句性能优化困难。
mybatis使用sql语句操做数据库,不支持数据库无关性,在项目须要支持多种数据库的状况下,代码开发量相对较多。sql语句性能优化容易。
2.       hibernate配置java对象,与数据库表的对应关系,多表的关联关系查询配置复杂。mybatis配置java对象,与sql语句执行结果的对应关系,多表的关联关系查询配置简单。java

 

Mybatis优点sql

    MyBatis能够进行更为细致的SQL优化,能够减小查询字段。数据库

    MyBatis容易掌握,而Hibernate门槛较高。缓存

    MyBatis更加灵活,动态编写sql语句,提供xml标签,支持编写动态sql,解除sql与程序代码的耦合,容易上手方便后续开发团队的运维,适合需求变化频繁,大型项目,好比:互联网项目。性能优化

 

小巧、方便、高效、学习简单、半自动、移植性很差mybatis

 

 

Hibernate优点框架

    Hibernate的DAO层开发比MyBatis简单,Mybatis须要维护SQL和结果映射。Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。Hibernate数据库移植性很好,MyBatis的数据库移植性很差,不一样的数据库须要写不一样SQL。Hibernate有更好的二级缓存机制,能够使用第三方缓存。MyBatis自己提供的缓存机制不佳。适合需求稳定的中小型项目,好比:办公自动化系统,财务系统。运维

强大、方便、高效、学习复杂、全自动、移植性好性能

相关文章
相关标签/搜索