栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面试题新的--Mybatis和Hibernate的区别??

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面试题新的--Mybatis和Hibernate的区别??

        首先,Mybatis和Hibernate都是持久层框架,狭义上来说,Mybatis和Hibernate不同点就是Mybatis属于半自动的映射工具,而Hibernate属于全自动的映射工具。具体的话有以下几点不同:

  1. 因为Mybatis是半自动的,所以在涉及数据库的相关操作时,需要自行编写SQL语句,而Hibernate的SQL语句则是自行生成。
  2. Hibernate数据库移植性要比Mybatis强,Hibernate提供了强大的映射结构和hql语言,大大降低了对象与数据库之间的耦合度。
  3. Hibernate的日志系统更加强大,包括SQL记录,关系异常,缓存提示,优化警告等,而Mybatis除了一些常用的日志功能外,对于其他方面的有所欠缺。
  4. Hibernate的缓存机制比Mybatis强。
  5. 对于SQL的直接优化,因为Hibernate的sql是自动编写的,所以不方便对SQL进行直接优化,虽然说Hibernate有hql,但涉及到一些较为复杂的查询时,如报表,hql就力不从心了,而Mybatis的sql是由我们手动编写,我们可以直接在编写时进行SQL优化,如使用表别名,不适用*,尽量使用索引,where代替having等操作进行SQL优化。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271778.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号