最经典的hibernate教程_从入门到精通_第1篇(共四篇)_第1页
最经典的hibernate教程_从入门到精通_第1篇(共四篇)_第2页
最经典的hibernate教程_从入门到精通_第1篇(共四篇)_第3页
最经典的hibernate教程_从入门到精通_第1篇(共四篇)_第4页
最经典的hibernate教程_从入门到精通_第1篇(共四篇)_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 ORM 概述,目标:理解ORM熟悉Hibernate 的作用,Java对象持久化概述,应用程序的分层体系结构,数据库,应用程序层,数据库,表述层,业务逻辑层,双层体系结构,三层体系结构,表述层:提供与用户交互的GUI(图形用户界面)。业务逻辑层:实现各种业务逻辑。数据库层:负责存放和管理应用的持久性数据。应用程序层:负责生成用户界面的代码和负责业务逻辑的代码 混合在一起。,Java对象持久化概述,应用程序的分层体系结构区分物理层和逻辑层 物理分层:每一层运行在单独的机器上,意味 着创建分布式软件系统。 逻辑分层:在单个的软件模块中完成特定的功 能。 不作特别说明,软件分层指的是逻辑分层。,Java对象持久化概述,应用程序的分层体系结构软件层的特征 1.每个层由一组相关的类或组件构成,共同完 成特定功能。 2. 层与层之间存在自上而下的依赖关系。不存在 跨层访问。 3.每个层对上层公开API,但具体的实现细节 不对外透明。,Java对象持久化概述,应用程序的分层体系结构 软件分层的优点 1.伸缩性:能否支持更多用户。 2.可维护性:需求变化时,影响一部分,不影 响其它部分的代码。 3.可扩展性:增加薪功能的难以程度。 4.可重用性:代码没冗余,满足多种需求。 5.可管理性:管理系统的难易程度。,Java对象持久化概述,应用程序的分层体系结构软件分层缺点 1.设计人员要求高 2.体细结构合理划分,耗时大 3.调试困难 4.对于规模较小的应用,软件分层会降低开发 效率。,Java对象持久化概述,应用程序的分层体系结构 Java应用的持久化层,表述层,业务逻辑层,数据库层,表述层,业务逻辑层,持久化层,数据库层,Java对象持久化概述,Hibernate中间件特性,应用1,业务逻辑层,应用2,业务逻辑层,应用3,业务逻辑层,持久化层(hibernate),数据库1,数据库2,数据库3,持久化层封装了数据访问的细节,为业务逻辑层提供了面向对象的API。完善的持久化层应该达到的目标:1.代码重用性高,可完成所有的数据访问操作。2.如果需要的话,能够支持多种数据库平台。3.具有相对独立性,当持久化层变化时,不会影响上层实现。,软件分层的优点,伸缩性可维护性可扩展性可重用性可管理性,Hibernate是一个优秀的持久化框架,什么是持久化?,内存,姓名:张三密码:123性别:男,磁盘,用JDBC完成数据在持久和瞬时状态间的转换:*.execute ( ).,瞬时状态:保存在内存的程序数据,程序退出后,数据就消失了,称为瞬时状态,持久状态:保存在磁盘上的程序数据,程序退出后依然存在,称为程序数据的持久状态,持久化:将程序数据在瞬时状态和持久状态之间转换的机制,Action,Server,Dao,DB,用JDBC 持久数据,Hiberante应用程序的结构,(1)Application:应用 (2)Persistent Object:持久化对象(3)perties:Hibernate属性文件/Hibernate配置文件 (4)XML Mapping:Hibernate映射文件 (5)Database:数据库,JDBC与Hibernate的比较,相同点:两者都是JAVA的数据库操作中间件。两者对于数据库进行直接操作的对象都不是线程安全的,都需要及时关闭。两者都可以对数据库的更新操作进行显式的事务处理。不同点:使用的SQL语言不同:JDBC使用的是基于关系型数据库的标准SQL语言,Hibernate使用的是HQL(Hibernate query language)语言操作的对象不同:JDBC操作的是数据,将数据通过SQL语句直接传送到数据库中执行,Hibernate操作的是持久化对象,由底层持久化对象的数据更新到数据库中。数据状态不同:JDBC操作的数据是“瞬时”的,变量的值无法与数据库中的值保持一致,而Hibernate操作的数据是可持久的,即持久化对象的数据属性的值是可以跟数据库中的值保持一致的。,什么是ORM?,持久化层,业务逻辑层,表现层,关系型数据(R),映射信息,ORM(对象-关系映射):完成对象数据到关系型数据映射的机制称为对象-关系映射,简称ORM。,TBL_User,小结,是一个主流的持久化框架在JDBC基础上进行分装只需要少量代码就可以完成持久化工作是一个优秀的ORM(对象-关系映射)机制通过映射文件保存映射信息在业务层以面向对象的方式编程,不用考虑数据保存形式,3个准备,1) 添加Hibernate库到项目,2-1):添加配置文件 - hibernate.cfg.xml, jdbc:microsoft:sqlserver:/localhost:1433;Database=pubs sa pwd com.microsoft.jdbc.sqlserver.SQLServerDriver org.hibernate.dialect.SQLServerDialect true ,2-2):添加配置文件 - hibernate.cfg.xml, org.hibernate.dialect.SQLServerDialectjava:/comp/env/pubshibernate ,准备3:添加实体类和映射文件(UserInfo.hbm.xml),使用Hibernate的7个步骤:,Configuration,SessionFactory,Session,Transaction,创建,创建,开始,save delete update get mit() session.close(),执行,Hibernate.cfg.xml,结束,创建和销毁都相当耗费资源,通常一个系统内一个数据库只创建一个,类似于JDBC中的Connection,复杂的查询操作稍后介绍,tx = session.beginTransaction();User user = this.testLoad(id);user.setUname(new Name);session.update(user);mit();,修改,tx = session.beginTransaction();User user = this.testLoad(id);session.delete(user);mit();,没有更新数据,不进行事务控制,使用Hibern

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论