ibatis和hibernate 区别分析(转)
来源:互联网 发布:淘宝同步电讯 编辑:程序博客网 时间:2024/05/22 06:06
Hibernate:“全自动化封装” 提供的方法完成持久层操作。程序员甚至不需要对 SQL 的熟练掌握,Hibernate/OJB 会根据制定的存储逻辑,自动生成对应的 SQL 并调用 JDBC 接口加以执行。
iBATIS 半自动化封装 并不会为程序员在运行期自动生成 SQL 执行。
例如
在笔者的系统咨询工作过程中,常常遇到以下情况:
1. 系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条Select SQL(或存储过程)以获取所需数据,具体的表结构不予公开。
2. 开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(就笔者工作所面向的金融行业而言,工商银行、中国银行、交通银行,都在开发规范中严格指定)
3. 系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。
这篇博客介绍一下hibernate框架和ibatis框架的区别,以及他们的效率之间的比较。
比较方面
Ibatis框架 Hibernate框架
从设计思路来看
从关系型开始到对象型的思路来解决数据库的操作问题 从对象的角度的思路来解决数据库的操作问题
从方便性上来看
半自动 全自动
从sql语句书写来看
要写sql语句 一般不用写,但是有时候我们还是要用书写hql语句的
从映射角度来看
映射sql语句的输入输出参数 对数据库表结构来进行映射
CURD (create update read delete) 性能 JDBC>ibatis>hibernate
iBATIS 半自动化封装 并不会为程序员在运行期自动生成 SQL 执行。
例如
在笔者的系统咨询工作过程中,常常遇到以下情况:
1. 系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条Select SQL(或存储过程)以获取所需数据,具体的表结构不予公开。
2. 开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(就笔者工作所面向的金融行业而言,工商银行、中国银行、交通银行,都在开发规范中严格指定)
3. 系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。
这篇博客介绍一下hibernate框架和ibatis框架的区别,以及他们的效率之间的比较。
比较方面
Ibatis框架 Hibernate框架
从设计思路来看
从关系型开始到对象型的思路来解决数据库的操作问题 从对象的角度的思路来解决数据库的操作问题
从方便性上来看
半自动 全自动
从sql语句书写来看
要写sql语句 一般不用写,但是有时候我们还是要用书写hql语句的
从映射角度来看
映射sql语句的输入输出参数 对数据库表结构来进行映射
CURD (create update read delete) 性能 JDBC>ibatis>hibernate
0 0
- ibatis和hibernate 区别分析(转)
- 【转】IBatis和Hibernate区别
- ibatis和hibernate区别
- hibernate和ibatis区别
- IBAtis 和 Hibernate 区别
- IBatis和Hibernate区别
- Hibernate和Ibatis区别
- iBATIS和Hibernate区别
- IBatis和Hibernate区别
- iBatis和Hibernate区别
- IBatis和Hibernate区别
- Hibernate和Ibatis区别
- IBatis和Hibernate区别
- IBatis和Hibernate区别
- IBatis和Hibernate区别
- 转 ibatis(mybatis)和Hibernate的区别
- 框架学习:ibatis框架和hibernate框架区别分析
- hibernate和ibatis的区别
- 培养小孩的想象力(转)
- 基于Java实现K-means算法
- String StringBuffer StringBuilder 原理解析-部分来源于网上
- 【机器学习】特征的相关性和有用性
- 【笔记】js运算符
- ibatis和hibernate 区别分析(转)
- PCIe学习笔记分享
- 一道看似简单的面试题
- 用ioctl配置网络
- 自己实现jdbc--有空再来改进
- 最全最好用的Android Studio插件整理
- QQ如何不接收群邮件(杂)
- tts 文字转换语音
- eclipse解决jsp页面乱码问题