- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目标 ORM Object Relational Mapping 对象关系映射 解决关系型数据库和面向对象的语言之间的数据映射问题 贯彻面向对象的编程思想 减少代码的编写量,提高工作效率 提高访问数据库的性能,降低访问数据库的频率 具有相对独立性,发生变化时不会影响上层的实现 Hibernate 概述 Hibernate是流行的ORM框架 开源并且免费,方便需要时研究、改写源代码,进行功能定制 简单,避免引入过多复杂问题,进行轻量级封装,容易调试 具有可扩展性,API开放,根据需要可进行扩展 稳定的性能,发展有保障 Hibernate API Hibernate API中提供了Hibernate的功能类和接口,应用程序通过这些类和接口可以直接以面向对象的方式访问数据库 Hibernate体系结构 Hibernate框架将开发人员从JDBC的繁琐开发中释放出来,开发人员无需关注底层数据库连接的获得、数据访问的实现、事务的控制等,而是以面向对象的方式进行持久层操作 Hibernate常用对象 Hibernate 应用开发方式 自底向上从数据库表到持久化类 自顶向下从持久化类到数据库表 从中间出发向上与向下同时发展 开发步骤 配置Hibernate应用环境,在应用中添加Hibernate所需的jar包,并创建Hibernate配置文件 创建持久化类及其ORM映射文件 利用Configuration装载配置 利用SessionFactory创建Session 通过Session进行持久化对象的管理 利用Transaction管理事务 利用Query进行HQL查询或利用Criteria实现条件查询 配置Hibernate环境 – 添加类库 hibernate3.jar文件是Hibernate的核心类库 其他文件是Hibernate框架本身需要引用的jar文件 配置Hibernate环境 – 配置文件 持久化类及映射文件 利用Configuration装载配置 每个配置文件对应一个Configuration对象,代表一个应用程序到数据库的映射配置 利用SessionFactory创建Session SessionFactory对象是Hibernate进行持久化操作所必须的对象,该对象是整个数据库映射关系经编译后形成的内存镜像 利用Session操作数据库 Session对象是Hibernate持久化操作的关键对象,是Hibernate持久化操作的基础,是应用程序与数据库之间交互操作的一个单线程对象 持久化对象的生命周期、事务的管理、对象的查询、更新和删除都是通过Session对象完成 Session对象封装了JDBC连接,具有一个一级缓存,在显式执行flush方法之前,所有持久化操作的数据都在Session对象的缓存中 利用Transaction管理事务 Transaction对象主要用于管理事务,所有持久化操作都需要在事务管理下进行 创建Configuration并装载配置 创建SessionFactory对象 打开Session 开始事务 持久化操作 提交事务 关闭Session HQL查询 Hibernate Query Language 支持各种条件查询、连接查询和子查询 支持分页、分组查询 支持各种聚集函数和自定义函数 支持动态绑定查询参数 Criteria查询 Criteria提供面向对象的查询方式 Hibernate配置文件 使用perties文件作为配置文件 使用hibernate.cfg.xml文件作为配置文件 结合使用,一起作为配置文件 Hibernate映射文件 映射文件的根元素是hibernate-mapping,该元素下可以拥有多个class子元素,每个class元素对应一个持久化类的映射,即将类和表之间的关系进行映射 主键生成 Hibernate映射文件中id元素定义了持久化类的标识符属性(主键),其generator子元素则用来设置当前持久化类的标识符属性的生成策略 集合映射 Hibernate要求使用集合接口来声明集合属性,例如List、Set、Map接口等。对于不同的集合接口,在Hibernate映射文件中需要采用不同的集合映射元素 持久化对象 持久化类都是普通的、传统的Java对象(POJO) 开发应遵守如下规则: 提供一个无参数的构造方法(默认构造方法) 提供一个标识属性,通常映射到数据库表中的主键 每个属性提供setter和getter方法 持久化类是非final类 持久化类需要实现Serializable接口,使持久化对象可序列化 持久化对象的状态 瞬时状态 持久化状态 脱管状态 改变持久化对象的状态 * 第5章 Hibernate基础 了解
文档评论(0)