MyBatis与Hibernate都是持久层操作的框架,我们项目当中也经常用到,下面我们来做一下简单对比。
MyBatis与Hibernate的区别:
相同点:MyBatis与Hibernate底层都是对原生jdbc进行的封装,便于开发人员使用。
不同点:
- 封装上:Hibernate是全自动封装(自动生成),MyBatis是半自动封装(可根据自己需求编写sql)。
- 可移植性上:Hibernate具有强大的映射结构和hql(Hibernate Query Language)语言,降低了对象与数据库的耦合性。MyBatis需要手动在对应的Mapper.xml配置文件中编写sql,因此sql的复杂程度就就决定了耦合度的高低,如果说编写的sql不通用(Mysql,SqlServer,Oracle)还需要重新编写。
- sql优化上:Mybatis sql 都是在mapper.xml中进行配置的(易优化),Hibernate sql都是自动生成的(难优化)。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/115854.html