一、框架介绍
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语句灵活性,适合互联网项目的开发。