Hibernate与MyBaits的区别?
(1)Hibernate是全自动,而myBatis是半自动,Hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成SQL。而myBatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写SQL来实现和管理。
(2)Hibernate数据库移植性远大于myBatis,Hibernate通过它强大的映射结构和HQL语言,大大降低了对象与数据库的耦合性,而myBatis由于需要手写SQL,因此与数据库的耦合性直接取决于开发人员写SQL的方法,如果SQL不具通用性而用了很多某数据库特性的SQL语句移植性也会随之降低很多成本很高。
(3)Hibernate拥有完整的日志系统,myBatis则欠缺一些。Hibernate日志系统非常健全,涉及广泛包括:SQL记录、关系异常、优化警告、缓存提示、脏数据警告等;而myBatis则除了基本记录功能外,功能薄弱很多。
(4)在SQL优化上myBatis要比Hibernate方便很多,由于myBatis的SQL都是写在xml里,因此优化SQL比Hibernate方便很多。而Hibernate的SQL很多都是自动生成的,无法直接维护SQL,虽有HQL但功能还是不及SQL强大。
(5)Hibernate强大、方便、高效、复杂、全自动,myBatis小巧、方便、高效、简单、半自动。
Hibernate与MyBaits的区别?的更多相关文章
- 简述 Hibernate 和 JDBC 的区别、优缺点
1.hibernate是一个开源的.采用面向对象的思想实现ORM映射框架,它对jdbc进行了一层封装,对于数据库的连接.关闭.数据的持久化(增删改查).事务的管理都进行了封装,使得程序开发的时候可以用 ...
- Jdbc、Mybatis、Hibernate各自优缺点及区别
文章出处:Jdbc,Mybatis,Hibernate各自优缺点及区别 先比较下jdbc编程和hibernate编程各自的优缺点. 1.JDBC 我们平时使用jdbc进行编程,大致需要下面几个步骤: ...
- 对比JPA 和Hibernate 和 Mybatis的区别
1.JPA.Hibernate.Mybatis简单了解 1.JPA:本身是一种ORM规范,不是ORM框架.由各大ORM框架提供实现. 2.Hibernate:目前最流行的ORM框架,设计灵巧,文档丰富 ...
- Hibernate 和Mybatis的区别
Hibernate 和Mybatis的区别 1.hibernate 入门门槛高,是一个标准的ORM框架(对象关系映射),不需要程序写sql,sql语句自动生成,对sql语句进行优化.修改比较困难. ...
- hibernate和ibatis的区别
通过别人的资料,进行自己关注的一些扼要点的整理 共同点: 1. 不同点:1. 自动化程度上,hibernate是全自动化的orm框架,提供了对象到数据库的完全映射和sql的内部自动生成,其对象映射是指 ...
- jdbc,mybatis,hibernate各自优缺点及区别
先比较下jdbc编程和hibernate编程各自的优缺点. JDBC: 我们平时使用jdbc进行编程,大致需要下面几个步骤: 1,使用jdbc编程需要连接数据库,注册驱动和数据库信息 ...
- hibernate与mybatis的区别和应用场景
mybatis 与 hibernate 的区别和应用场景(转) 1 Hibernate : 标准的ORM(对象关系映射) 框架: 不要用写sql, sql 自动语句生成: 使用Hibernate ...
- hibernate与ibatis的区别
Hibernate 是当前最流行的O/R mapping框架,当前版本是3.05.它出身于sf.net,现在已经成为Jboss的一部分了 iBATIS 是另外一种优秀的O/R mapping框架,当前 ...
- Mybites和hibernate的优缺点和区别
Hibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分. Mybatis 是另外一种优秀的O/R mapping框架.目前属于apache的 ...
随机推荐
- CSP前模板复习
Tarjan 求强连通分量 展开查看 #include #include #include using namespace std; const int N = 1e4 + 1e3; int n, m ...
- 使用Jsoup爬取网站图片
package com.test.pic.crawler; import java.io.File; import java.io.FileOutputStream; import java.io.I ...
- 10 Python之文件操作
1.文件操作 f = open(文件路径, mode="模式", encoding="编码") f: 文件句柄 文件的路径: 相对路径 相对于当前程序所在的文件 ...
- zabbix mongodb 监控添加
在zabbix 上添加mongodb的监控 由于使用的是zabbix 3.0 所有在模板里面又自己的模板名字叫:Template MongoDB 所以 客户端的配置如下 到配置文件目录 /usr/lo ...
- 21、Nginx 常见问题
1.多个server_name容易产生冲突,会按照如下顺序匹配 1.首先选择所有的字符串完全匹配的server_name.(完全匹配) 2.选择通配符在前面的server_name,如*.bgx.co ...
- 3.(基础)tornado的接口调用顺序与模板
上一节介绍了tornado的请求与响应,这一节介绍tornado的接口调用顺序和模板 首先都有哪些接口呢?作用是什么呢?并且都有的时候,执行顺序是怎么样的呢? 接口 1.initialize,表示初始 ...
- Logback日志输出到ELK
用docker-compose本机部署elk docker-compose.yml version: "3" services: es01: image: docker.elast ...
- python 教程之Django(二)
官网: https://www.djangoproject.com/download/ 1.简单方法: A.pip 命令安装方法 pip install Django 打开dos命令窗口 输入命令回车 ...
- 搭建hadoop单机版
一.准备工作 1.申请机器 1)修改配置: 申请虚拟机下来了,通过xshell连接进入, 主机名还是默认的,修改下,不然看着不习惯 >hostname 查看主机名 >vim /etc/sy ...
- 更换Red Hat Enterprise Linux 7 64位的yum为centos的版本
查看redhat原有的yum包有哪些: [root@localhost ~]# rpm -qa|grep yum yum-utils-1.1.31-24.el7.noarch yum-langpack ...