MyBatis与Hibernate持久层框架简单总结

本文总结了MyBatis和Hibernate两大持久层框架的特性与工作原理,探讨了它们在数据持久化、ORM关系、优缺点等方面的内容。MyBatis提供半自动化ORM实现,灵活性高,而Hibernate则通过对象化简化数据库操作,具有较好的移植性。两者各有优势,适用于不同场景的数据库操作需求。
摘要由CSDN通过智能技术生成

目录

数据持久化操作框架及ORM关系

MyBatis框架

        MyBatis主要的类

Hibernate框架

Hibernate实体类中有三种状态:


数据持久化操作框架及ORM关系

1.)MyBatis与Hibernate框架都是对底层数据库数据持久化进行操作的(ORM——对象、关系映射实现)框架。
2.)持久化:持久(Persistence),是程序数据在瞬时状态(如内存中的对象)和持久状态(可永久保存的存储设备中,如磁盘)间转换的过程。持久化的主要应用是将内存中的数据存储在关系型的数据库中,也可以存储在磁盘文件中、XML数据文件中等。
3.)持久层(Persistence Layer):专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面,将数据使用者和数据实体相关联。
4.)对象数据映射(ORM):Object/Relational Mapper,即“对象-关系型数据映射组件”。表示必须同时使用面向对象和关系型数据进行开发。
5.)拓展:建模领域中的ORM为Object/Role Modeling(对象角色建模)。另外这里是“O/R Mapper”而非“O/R Mapping”。相对来讲,O/R Mapping 描述的是一种设计思想或者实现机制,而O/R Mapper 指以O/R原理设计的持久化框架(Framework),包括O/R机制还有SQL自生成,事务处理,Cache管理等。
6.)为什么要做持久化和ORM设计:在目前的企业应用系统设计中,MVC,即 Model(模型)- View(视图)- Control(控制)为主要的系统架构模式。MVC 中的 Model 包含了复杂的业务逻辑和数据逻辑,以及数据存取机制(如 JDBC的连接、SQL生成和Statement创建、还有ResultSet结果集的读取等)等。将这些复杂的业务逻辑和数据逻辑分离,以将系统的紧耦合关系转化为松耦合关系(即解耦合),是降低系统耦合度迫切要做的,也是持久化要做的工作。MVC 模式实现了架构上将表现层(即View)和数据处理层(即Model)分离的解耦合,而持久化的设计则实现了数据处理层内部的业务逻辑和数据逻辑分离的解耦合。而 ORM 作为持久化设计中的最重要也最复杂的技术,也是目前业界热点技术。
简单来说,按通常的系统设计,使用 JDBC 操作数据库,业务处理逻辑和数据存取逻辑是混杂在一起的。
一般基本都是如下几个步骤:
1、建立数据库连接,获得 Connection 对象。
2、根据用户的输入组装查询 SQL 语句。
3、根据 SQL 语句建立 Statement 对象 或者 PreparedStatement 对象。
4、用 Connection 对象执行 SQL语句,获得结果集 ResultSet 对象。
5、然后一条一条读取结果集 ResultSet 对象中的数据。
6、根据读取到的数据,按特定的业务逻辑进行计算。
7、根据计算得到的结果再组装更新 SQL 语句。
8、再使用 Connection 对象执行更新 SQL 语句,以更新数据库中的数据。
7、最后依次关闭各个 Statement 对象和 Connection 对象。

目前有哪些流行的 ORM 产品
目前众多厂商和开源社区都提供了持久层框架的实现,常见的有

Apache OJB (http://db.apache.org/ojb/
Cayenne (https://cayenne.apache.org/
Jaxor (http://jaxor.sourceforge.net/
Hibernate (http://hibernate.org/
iBatis (http://www.ibatis.com/
jRelationalFramework (

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值