博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis 和 hibernate 区别?
阅读量:5859 次
发布时间:2019-06-19

本文共 914 字,大约阅读时间需要 3 分钟。

  hot3.png

最近面试遇到一个问题,面试官问你们项目使用 mybatis 还是 hibernate?我说当然使用现在主流的 mybatis 了。面试官继续问:为什么不使用 hibernate?说下原因,以及这两个框架的区别?......

最后我虽然是回答出来了面试官的问题,但是还是感觉到回答到的不够完善?自己想下?问什么呢?主流?难道大家都在用我也跟着大家用?原因是什么?要一探究竟了。

本菜鸟简单理解觉得两个框架区别如下:

第一点区别:hibernate 有完整良好的映射机制不用自己手动写 sql,开发者不用担心自己 sql 生成只需要专注自己的业务逻辑即可。mybatis在做查询时候需要自己手写 sql 和 resultMap,简单来说 mybatis 开发量比较大一点,但 mybatis 比 hibernate 更适合复杂查询的项目。

从开发速度上来区分说,如果项目复杂查询较少,就是简单的查询这样使用 hibernate 开发速度较快,因为简单的 sql 语句已经帮你封装好了。但是如果大型项目,复杂语句较多,这样使用 mybatis 开发就会快很多,而且对 sql 语句的管理来说也比较方便。

第二点区别:hibernate 进行查询时候会把所有字段都查询出来,查询性能有一定消耗。mybatis 可以指定查询的字段,在 sql 优化方面是比较灵活的。

第三点区别:hibernate自带日志功能,mybatis 需要 log4j 来实现。

第四点区别:hibernate 配置数据库连接时候自需要配置数据库驱动和数据方言,即可和数据库完成连接进行数据交互。mybatis 所有 sql 都和数据库有关系,如果完成数据库迁移就很麻烦了。

所以:hibernate 适合需求变化不多的中小型项目。传统项目等 oa.....

           mybatis 适合需求变化较多的项目。互联网项目等....

综上所述就是以上简单的几个小区别。先总结到这里以后学习中会继续补充。

 

水平有限,若有问题请留言交流!

互相学习,共同进步 :)转载请注明出处谢谢!

 

转载于:https://my.oschina.net/hp2017/blog/1560084

你可能感兴趣的文章
为什么码农要了解业务?
查看>>
微软整合实验(七):布署Exchange2010 Mailbox高可用(DAG)
查看>>
我的友情链接
查看>>
Linux文件系统
查看>>
mybatis基础入门
查看>>
分析函数— —统计
查看>>
Oracle查询相关
查看>>
(J2EE学习笔记)hibernate的实体映射(双向一对一)
查看>>
CGI
查看>>
如何编写可维护的JavaScript代码?
查看>>
37条常用Linux Shell命令组合
查看>>
[电脑酒吧SEO知识入门篇]0.本系列文章概述
查看>>
做为技术人员为什么要写博客
查看>>
零成本搭建WDS轻量级系统批量部署环境视频课程
查看>>
使用rsync+inotify配置触发式(实时)远程同步
查看>>
详解DNS递归查询与迭代查询
查看>>
文件下载路径
查看>>
Oracle 通过JDBC访问Clob字段时,当长度=4193时,出现异常,无法正常读取
查看>>
套接字编程 --- UDP协议
查看>>
web安全***靶场之webgoat-1
查看>>