当前位置 博文首页 > 文章内容

    为什么说MyBatis不是完整的ORM框架?

    作者: 栏目:未分类 时间:2020-08-05 9:01:09

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



      ORM是object和relation之间的映射,包括Object->Relation和Relation->Object两方面.Hibernate是个完整的ORM框架,是双向的,而Mybatis完成的是Relation->Object,也就是数据映射框架.
    JPA是ORM框架标准,主流的ORM框架实现了这个标准,mybatis没有实现JPA,mybatis是拥抱SQL,而ORM是更靠近面向对象,不建议写SQL.mybatis是映射框架而不是ORM框架
      最典型的ORM 框架是Hibernate,它是全自动ORM框架,而MyBatis是半自动的。Hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成SQL。而MyBatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写SQL来实现和管理。
      Hibernate数据库移植性远大于MyBatis。Hibernate通过它强大的映射结构和HQL语言,大大降低了对象与数据库(oracle、mySQL等)的耦合性,而MyBatis由于需要手写SQL,因此与数据库的耦合性直接取决于程序员写SQL的方法,如果SQL不具通用性而用了很多某数据库特性的SQL语句的话,移植性也会随之降低很多,成本很高。
    

    转载自:http://www.mybatis.cn/archives/764.html