hibernate与mybatis_Ian93的博客-程序员秘密

技术标签: java  mybatis  hibernate  数据库  

hibernate和mybatis

使用场景:
hibernate适用于一些需求变化不多的项目,比如:某某后台管理系统,学生管理系统,OA等。
mybatis使用与一些需求变化比较多的项目,比如:电商平台等互联网项目
共同点:都是一个持久层框架
区 别:1.hibernate是一个标准的orm框架,全自动的,而mybatis是半自动的。
hibernate是一个标准的orm框架,完全可以根据自己的对象关系模型来操作数据,而mybatis也有自己的映射关系,就是输入映射和输出映射,但是SQL语句,对数据的操作却是需要自己去写,所以mybatis是半自动的。
2.hibernate的移植性要优于mybatis
因为hibernate对数据的操作不依赖与数据库,所以可以实现移植性比较高,而mybatis编写SQL语句的时候,需要根据具体数据库来 编写,
3.mybatis的SQL的优化比hibernate做得好
因为hibernate专注于对象,屏蔽了数据库,所以有的时候对SQL语句进行优化就不那么如人意,而mybatis专注于SQL本身,对于项目的灵活度和SQL的优化可以做的很好。
性能:
hibernate动态生成整条sql语句,不必关心不同数据库的特性,而又重量级封装对象模型,比mybatis性能稍慢。
总结:
mybatis:小巧、方便、高效、简单、直接、半自动
hibernate:强大、方便、高效、复杂、绕弯子、全自动

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37440662/article/details/122490520

智能推荐

一个app多主题架构完全分析_多个themes.xml_程序员入门进阶的博客-程序员秘密

ScoopsDemo多主题风格代码demo 本文属代码GG原创,非经本人同意,禁止转载。需要交流,联系微信:code_gg_boy 更多精彩,时时关注微信公众号code_gg_home 基本用法简要说明 Scoops是一个android应用库,主要解决的是多主题实现方案。通过配置多个R.style.Theme ,代码进行动态设置主题,重启当前界面实现。原理分析 主要通过设置主题(存储设置值

菜鸟成长规划_weixin_30325071的博客-程序员秘密

  自我学习 确实是一件很蛋疼的事情,需要极其强劲的韧性和坚持,最后没有系统的规划和学习方法确实让人难受。 到处搜罗学习资料,零零散散的,学了这不懂 , 那里也不懂,后面偶尔看到看到一篇博文指导。感觉不错,现在贴下来: 希望看到的大佬,也多指点。一: 编程基础不管是C还是C++,不管是Java还是PHP,想成为一名合格的程序员,基本的数据结构和算法基础还是要有的。下面几篇文章从思想...

利用Shader Forge 做出树叶摆动的效果2DSprite__Unity_Le_Sam的博客-程序员秘密

基于Shader Forge的2DSprite上制作,效果图如下: Shader Forge的版本为 v1.3.8.0,unity版本为2017.1.0f3.相关的shader和Demo稍后会分享资源,喜欢的同学去下载~Shader源码如下:// Shader created with Shader Forge v1.38 // Shader Forge (c) Nea...

html中a标签水平右对齐_a标签右对齐_二哥别秀了的博客-程序员秘密

正常div中a标签内容是左对齐代码如下:<div class="header"> <div class="son"> <a>11</a> </div> <div class="son"> <a>66</a> </div></div>结果如图:如果在a标签中加入display:block...

Centos7开机自启shell脚本_胡辣汤油条丶的博客-程序员秘密

本次以Apache为例:vim /etc/rc.d/rc.local在最下行添加一下内容/home/httpd.shhttpd.sh内容如下#!/bin/bashsystemctl start httpd最后重启服务器测试reboot

硬盘S.M.A.R.T技术原理与使用_s.m.a.r.t信息修改_山雨欲来-风满楼的博客-程序员秘密

<br />2008-12-31早在上个世纪九十年代,人们就意识到数据的宝贵性胜于硬盘自身价值,渴望有种技术能对硬盘故障进行预测并实现相对安全的数据保护,因此S.M.A.R.T技术应运而生。目前,虽然大多数硬盘的平均无故障时间(MTBF)已达30000~50000小时以上,然而对于不少用户,特别是商业用户而言,一次普通的硬盘故障便足以造成灾难性后果,所以时至今日,S.M.A.R.T技术仍为我们所用。    一、S.M.A.R.T究竟是什么?    S.M.A.R.T的全称为“Self-Monitorin

随便推点

【嵌入式】蓝牙串口通信透传模块(HC-08)的使用_蓝牙串口透传_公子无缘的博客-程序员秘密

一 使用蓝牙透传模块简介 HC-08 蓝牙串口通信模块是新一代的基于 Bluetooth Specification V4.0 BLE 蓝牙协议的数传模块。无线工作频段为 2.4GHz ISM,调制方式是 GFSK。模块最大发射功率为 4dBm,接收灵敏度-93dBm,空旷环境下和 iphone4s 可以实现 80 米超远距离通信。模块大小 26.9mm×13mm×2.2mm,集成了邮票封装孔和排针焊接孔,既可以贴片封装,也又可以焊接排针,很方便嵌入应用系统之内。自带 LED 状态指示灯,可直观判..

JSTL标签_weixin_30369041的博客-程序员秘密

JSTL标签 参考手册博客分类:Servlet/Jsp前言=========================================================================JSTL标签库,是日常开发经常使用的,也是众多标签中性能最好的。把常用的内容,放在这里备份一份,随用随查。尽量做到不用查,就可以随手就可以...

常用设计模式_小蜗牛在漫步的博客-程序员秘密

面向对象的六大设计原则: 单一职责原则 简单来说就是一个类是一组相关性很高的函数、数据的封装。(比如说加载图片,图片的加载逻辑imageLoader和图片的缓存逻辑imageCache应该分开写,加载逻辑不需要知道缓存逻辑,只要缓存结果)。 开闭原则 软件中的对象(类、模块、函数等)对扩展是开放的,对修改是关闭的。(比如加载图片,缓存方式有几种。如果增加缓存方式,如何让加载逻辑...

OpenGrok添加根据文件名后缀进行查询过滤的功能_opengrok 排除文件夹_志_祥的博客-程序员秘密

OpenGrok默认会将*.o *.so这些二进制文件也加入索引(其实没什么坏处),如果想在查询时过滤这些文件,怎么做?要点:https://github.com/OpenGrok/OpenGrok/blob/master/src/org/opensolaris/opengrok/index/IgnoredNames.javaIgnoredNames是默认的索引过滤,对文件

tomcat 三种部署方式以及server.xml文件的几个属性详解(Root.xml,多目录Path部署)_OkidoGreen的博客-程序员秘密

一、直接将web项目文件件拷贝到webapps目录中  这是最常用的方式,Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。如果你想要修改这个默认目录,可以在conf下的server.xml文件里修改Host标签里的appBase值。  这个方法实际上和在IDE开发环境里部署项目是一样的。  用此方法的访问路径为http://lo...

压力 性能 测试 工具 ab (apache benchmark) jmeter_benchmark jmeter_conquer0715的博客-程序员秘密

快速开始ab参数很多,一般我们用 -c 和 -n 参数就可以了. 例如: ./ab -c 100 -n 10000 http://127.0.0.1/index.php 介绍ab(apache benchmark) —— apache自带的一个测试工具,一般把apache压力测试称为AB测试. ab工具的位置在apache的bin目录里,参数说明:Usage: ./ab

推荐文章

热门文章

相关标签