以下是个人总结,如有问题,欢迎讨论
1.hibernate是标准的orm数据库框架,以Javabean类与表映射,当进行多表查询的时候通过关联表注入对象obj,可以实现
多表同时管理,比如员工部门,当从部门表删除该员工,相应地可以自动实现员工表删除该员工的部门情况,所以多表操作
实现相对来说方便,mybatis以SQL语句(对应obj或者封装obj或map集合)与数据库表映射,相对来说查询SQL是可以自己
写的,这样只要咱们的SQL能在数据库里运行, 那么稍微写下obj和映射文件就可以进行映射,但是就上面的员工部门表来说
,维护起来就要复杂了
2.当进行懒加载的时候,hibernate因为是注入obj对象,查询树形结构方便,当全部输出的时候要写多条输出了,
mybatis可以通过自定义map集合映射,实现懒加载,当不需要的时候resultType直接输出,在SQL映射文件上做操作,相对
来说较为方便易行。
总结
因为mybatis咱们可以自己写SQL,所以容易使用,而hibernate是封装HQL语句,当进行高级查询,比如懒加载,或者列
名改名,就比较复杂了,hibernate可以用于数据库和需求变化不大的项目,如果像购物网站之类的经常变动,那么mybatis
更利于维护,就是能写SQL就能维护。