[互联网]网站设计与架构hibernate.ppt

上传人:sccc 文档编号:4602686 上传时间:2023-04-30 格式:PPT 页数:53 大小:3.55MB
返回 下载 相关 举报
[互联网]网站设计与架构hibernate.ppt_第1页
第1页 / 共53页
[互联网]网站设计与架构hibernate.ppt_第2页
第2页 / 共53页
[互联网]网站设计与架构hibernate.ppt_第3页
第3页 / 共53页
[互联网]网站设计与架构hibernate.ppt_第4页
第4页 / 共53页
[互联网]网站设计与架构hibernate.ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《[互联网]网站设计与架构hibernate.ppt》由会员分享,可在线阅读,更多相关《[互联网]网站设计与架构hibernate.ppt(53页珍藏版)》请在三一办公上搜索。

1、Hibernate技术讲师:朱建启,内 容,1.Hibernate概述2.单表O/R数据库映射3.多表O/R数据库映射4.HQL语言5.对象状态管理6.最佳建议,1.Hibernate概述,在本课程实践中,我们推荐大家使用Hibernate架构来解决数据持久层,及其与前端应用层之间的交互。Hibernate是一个面向Java环境的对象/关系数据库映射工具,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中,还提供数据查询和获取的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。,1.Hibernate概述,Hibernate高层概览,1.Hibernate概述,Hib

2、ernate全面解决体系,内 容,1.Hibernate概述2.单表O/R数据库映射3.多表O/R数据库映射4.HQL语言5.对象状态管理6.最佳建议,2.单表O/R数据库映射,这里涉及到三部分:关于整体数据库的hibernate.cfg.xml文件、每个表的POJO/JavaBean类以及每个表的hbm.xml。hibernate.cfg.xml它是代替以前版本中的hibernate.Properties文件,默认在CLASSPATH根目录中找到。主要是管理数据库的整体信息,比如:URL、driver、class、dialect等,同时管理数据库中各个表的映射文件。SessionFactor

3、y sf=new Configuration().configure().buildSessionFactory();使用模板向导产生的HibernateSessionFactory工具类。,2.单表O/R数据库映射,前面的动作完事后,在D:myprojectmytestsrc下面生成了hibernate.cfg.xml文件;在D:myprojectmytestWebRootWEB-INFlib路径下面把Hibernate需要的Lib文件给复制了一份。,2.单表O/R数据库映射,2.持久化类(Persistent Class)该类符合POJO(简单传统Java对象)规则,就能工作的最好。a.为

4、持久化字段声明访问器(Accessors)和是否可变的标志(Mutators),形如getFoo,isFoo,setFoo;b.实现一个默认的构造方法(Constructor);c.提供一个标识属性(Idenfifier Property)(可选);d.建议使用不是final类。3.hbm.xml映射语言以Java为中心的,意味着映射是按照持久化类的定义来创建的,而非表的定义,但我们一般都是以表出发来发射形成这样的映射,一般的应用这样就够了,不满足就在此基础上面再修改。,内 容,1.Hibernate概述2.单表O/R数据库映射3.多表O/R数据库映射4.HQL语言5.Hibernate过滤器

5、6.对象状态管理7.继承映射8.小结,3.多表O/R数据库映射,多表的关系映射在实际的应用中比较的普遍,一般通过表与表之间的主键/外键来建立关系,包括一对多(多对一)、一对一和多对多三种描述,并且在PO持久化JavaBean中增加了针对关系的getter/setter方法。接下来先看一对多(多对一)的关系映射演示。,多对多演示,内 容,1.Hibernate概述2.单表O/R数据库映射3.多表O/R数据库映射4.HQL语言5.对象状态管理6.最佳建议,4.HQL语言,Hibernate支持三种查询方式:1.HQL(Hibernate Query Language)其语法形式很像SQL,是一种完

6、全面向对象的,具备继承、多态和关联2.条件查询(Criteria Query)3.原生SQL查询,内 容,1.Hibernate概述2.单表O/R数据库映射3.多表O/R数据库映射4.HQL语言5.对象状态管理6.最佳建议,5.对象状态管理,瞬时(Transient)、持久(Persistent)、脱管(Detached),内 容,1.Hibernate概述2.单表O/R数据库映射3.多表O/R数据库映射4.HQL语言5.对象状态管理6.最佳建议,6.最佳建议,1.设计细粒度的持久类并且使用来实现映射;2.对持久类声明标识符属性;3.为每一个类写一个映射文件;4.把映射文件作为资源加载;5.考

7、虑把查询字符串放在程序外面;6.使用绑定变量;7.不要自己来管理JDBC connections;8.考虑使用用户自定义类型;9.在性能瓶颈的地方使用硬编码的JDBC;10.理解Session清洗(flushing);11.在三层结构中,考虑使用saveOrUpdate();12.在两次结构中记得自己关闭Session;13.不要把异常看成是可以恢复的;14.对于关联优先考虑Lazy Fetching;15.考虑把Hibernate代码从业务逻辑中抽象出来;16.使用与业务有关的键值来实现equals()和hashCode();17.不要用怪异的连接映射。,中期报告,中期报告提交内容:1.课题名称及拟定要实现的功能2.课题使用的架构及开发环境3.课题分组情况,包括组长组员的学号以及在课题中扮演的角色,学习情况4.简略描述课题使用架构各组成部分的功能以及在整个框架中扮演的角色,设计报告,一.系统名称二.系统概述三.设计目标四.系统开发环境(硬件、软件)五.功能分析与设计 1.系统完成功能描述 2.详细设计及代码分析(要求分析一个小模块的具体流程-根据网络架构的分层)六.数据库设计七.开发过程中遇到的问题及解决的办法八.系统遗留的问题九.组员分工情况(写明学号 姓名以及分工),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号