技术标签: 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:强大、方便、高效、复杂、绕弯子、全自动
ScoopsDemo多主题风格代码demo 本文属代码GG原创,非经本人同意,禁止转载。需要交流,联系微信:code_gg_boy 更多精彩,时时关注微信公众号code_gg_home 基本用法简要说明 Scoops是一个android应用库,主要解决的是多主题实现方案。通过配置多个R.style.Theme ,代码进行动态设置主题,重启当前界面实现。原理分析 主要通过设置主题(存储设置值
自我学习 确实是一件很蛋疼的事情,需要极其强劲的韧性和坚持,最后没有系统的规划和学习方法确实让人难受。 到处搜罗学习资料,零零散散的,学了这不懂 , 那里也不懂,后面偶尔看到看到一篇博文指导。感觉不错,现在贴下来: 希望看到的大佬,也多指点。一: 编程基础不管是C还是C++,不管是Java还是PHP,想成为一名合格的程序员,基本的数据结构和算法基础还是要有的。下面几篇文章从思想...
基于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...
正常div中a标签内容是左对齐代码如下:<div class="header"> <div class="son"> <a>11</a> </div> <div class="son"> <a>66</a> </div></div>结果如图:如果在a标签中加入display:block...
本次以Apache为例:vim /etc/rc.d/rc.local在最下行添加一下内容/home/httpd.shhttpd.sh内容如下#!/bin/bashsystemctl start httpd最后重启服务器测试reboot
<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 蓝牙串口通信模块是新一代的基于 Bluetooth Specification V4.0 BLE 蓝牙协议的数传模块。无线工作频段为 2.4GHz ISM,调制方式是 GFSK。模块最大发射功率为 4dBm,接收灵敏度-93dBm,空旷环境下和 iphone4s 可以实现 80 米超远距离通信。模块大小 26.9mm×13mm×2.2mm,集成了邮票封装孔和排针焊接孔,既可以贴片封装,也又可以焊接排针,很方便嵌入应用系统之内。自带 LED 状态指示灯,可直观判..
JSTL标签 参考手册博客分类:Servlet/Jsp前言=========================================================================JSTL标签库,是日常开发经常使用的,也是众多标签中性能最好的。把常用的内容,放在这里备份一份,随用随查。尽量做到不用查,就可以随手就可以...
面向对象的六大设计原则: 单一职责原则 简单来说就是一个类是一组相关性很高的函数、数据的封装。(比如说加载图片,图片的加载逻辑imageLoader和图片的缓存逻辑imageCache应该分开写,加载逻辑不需要知道缓存逻辑,只要缓存结果)。 开闭原则 软件中的对象(类、模块、函数等)对扩展是开放的,对修改是关闭的。(比如加载图片,缓存方式有几种。如果增加缓存方式,如何让加载逻辑...
OpenGrok默认会将*.o *.so这些二进制文件也加入索引(其实没什么坏处),如果想在查询时过滤这些文件,怎么做?要点:https://github.com/OpenGrok/OpenGrok/blob/master/src/org/opensolaris/opengrok/index/IgnoredNames.javaIgnoredNames是默认的索引过滤,对文件
一、直接将web项目文件件拷贝到webapps目录中 这是最常用的方式,Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。如果你想要修改这个默认目录,可以在conf下的server.xml文件里修改Host标签里的appBase值。 这个方法实际上和在IDE开发环境里部署项目是一样的。 用此方法的访问路径为http://lo...
快速开始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