粗略的谈谈hibernate和mybatis的优缺点

一、框架介绍

        hibernate是一个优秀的ORM框架(对象关系隐射),高度封装sql语句与表关系,开发者只需要配置好表与pojo类的关系隐射,还有表与表,类与类的多对多,多对一,一对一关系。则开发人员无需sql语句如何编写,把精力放在业务逻辑是。

     mybatis也是一个优秀的ORM框架,不过相对于hibernate来说是比较简陋的,他只是对jdbc的封装,sql语句还有表关系都得自己一一映射。

二、框架使用

        1)hibernate在配置好关系后,可直接对对象进行操作,让使用会话对象的方法实现对数据库的crud操作,而mybatis则需要手动编写sql语句,这样一对比,hibernate的开发速度要优于mybatis,但同时问题也出现了,在面对一些高级查询时,hibernate则是显得有些力不从心了,hibernate的sql语句是写死的,有时候一些字段我们并不需要查询或者修改,但是他封装的是全部,虽然我们可以手动设置字段,但是却破坏了hibernate的简洁性。而mybatis则可以自己手动编写sql进行优化,且有动态sql的功能,可以优化sql.

    2)hibernate有自己的缓存机制,mybatis则没有,而现在大多数都是使用第三方缓存,所以这个优点已被抹去。

    3)hibernate相对来说是重量级的,入门门槛高,而mybatis则是轻量级封装jdbc,可以现学现用。

三、总结

    1)hibernate适合对单表进行操作,不能优化sql,不适合开发高并发的项目,适合OA.CRM等项目的开发。

   2)mybatis的sql语句灵活性,适合互联网项目的开发。

猜你喜欢

转载自blog.csdn.net/ksm_coder/article/details/80494360