首页 javaWEB mybaits与hibernate区别

mybaits与hibernate区别

mybatis:小巧、方便、高效、简单、直接、半自动 hibernate:强大、方便、高效、复杂、绕弯子、全自动 1. …

mybatis:小巧、方便、高效、简单、直接、半自动

hibernate:强大、方便、高效、复杂、绕弯子、全自动

mybaits与hibernate区别

1. hibernate是全自动,而mybatis是半自动

hibernate完全可以通过JavaBean对象与数据库的映射结构来自动生成sql。

mybatis 需要手写sql

2. 数据库移植

hibernate的映射结构和hql语言,更换数据库(oracle,mysql)容易

而mybatis由于需要手写sql,数据库更换比较需要消耗成本

3. 日志系统

hibernate日志系统非常健全包括:sql记录、关系异常、优化警告、缓存提示、脏数据警告

mybatis则除了基本记录功能外,功能薄弱很多。

4. 细节问题

hibernate配置多,很多都封装好直接调用

mybatis开发模式上与传统jdbc区别很小,考虑细节需要比较多

5. sql直接优化上

由于mybatis的sql都是写在xml里,优化容易

而hibernate的sql很多都是自动生成的,无法直接维护sql;

mybatis:

1. 入门简单,即学即用,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验,对于没有那么高的对象模型要求的项目来说,相当完美。

2. 可以进行更为细致的SQL优化,可以减少查询字段。

3. 缺点查询要自己写的,工作量也比较大,可用代码生成工具

4. 二级缓存机制不佳。

hibernate:

1. 数据库无关性好,O/R映射能力强,封装强的代码,代码量少

2. 有更好的二级缓存机制,可以使用第三方缓存。

3. 缺点就是学习门槛不低,要精通门槛更高

举个形象的比喻:

mybatis:机械工具,使用方便,拿来就用,但工作还是要自己来作,不过工具是活的,怎么使由我决定。

hibernate:智能机器人,但研发它(学习、熟练度)的成本很高,工作都可以摆脱他了,但仅限于它能做的事。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

nodejs 整理记录

nodejs 整理记录

下载包 https://blog.csdn.net/m0_59878114/article/details/120274...
websocket测试html

websocket测试html

<!DOCTYPE html> <html> <head> <meta cha...
bigdemical两个数比较大小

bigdemical两个数比较大小

/*int result = bigdemical1.compareTo(bigdemical2) result = -...
Beetl2.7 中文文档

Beetl2.7 中文文档

Beetl目前版本是2.7.23,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等...
纯CSS实现多个便签在一行展示,拖动滚动

纯CSS实现多个便签在一行展示,拖动滚动

div <h2>请注意需要在移动端预览,PC端拖拽无效果</h2> <div class=...
返回顶部