持久层理解 hibernate

本文介绍了SSH框架的组成及各层的作用,并详细解析了持久层的概念及其在系统架构中的重要性。文中对比了Hibernate与IBATIS两种持久层框架的特点。
SSH框架:

表示层
  |
业务层
  |
dao层
|
持久层Hibernate(其实就屏蔽各个数据库的差异,相当于逻辑抽象层屏蔽硬件驱动一样)
  |
数据库层
数据持久层只是名字好听,说穿了只是一个逻辑概念而已,这层的主要任务是负责把数据保存起来,一般是指保存至数据库或者文件,当然,它也可以负责完成与之相关的行为。


持久 英文即 persistence。
  就是把数据保存到可掉电式存储设备中供以后使用。大多数情况下特别是企业级应用, 数据持久化 往往也就意味着将内存中的数据保存到磁盘上加以固化,而持久化的实现过程则大多通过各种关系数据库来完成。
  那么持久层呢?
  延续思路,所谓“持久层”,也就是在系统逻辑层面上,专著于实现数据持久化的一个相对独立的领域(Domain)。
  持久层是负责向(或者从)一个或者多个数据 存储器 中存储(或者获取)数据的一组类和组件。这个层必须包括一个业务领域实体的模型(即使只是一个元数据模型)。
  不过这里有一个字需要特别强调,也就是所谓的“层”。
  对于应用系统而言,数据持久功能大多是必不可少的组成部分。那不就是说,我们的系统中,已经天然的具备了“持久层”概念?
  也许是,但也许实际情况并非如此。
  之所以要独立出一个“持久层”的概念,而不是“持久模块”,“持久单元”,也就意味着,我们的系统架构中,应该有一个相对独立的逻辑层面,专著于数据持久化逻辑的实现.与系统其他部分相对而言,这个层面应该具有一个较为清晰和严格的逻辑边界。

编辑本段持久层框架

   Hibernate
  Hibernate是一个 开放源代码 对象关系映射 框架,它对JDBC进行了非常轻量级的对象封装,使得Java 程序员 可以随心所欲的使用对象 编程 思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成 数据持久化 的重任。Eclipse平台下的Hibernate辅助开发工具:【 Hibernate Synchronizer 】【 MiddlegenIDE
   IBATIS
  使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值