- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8讲 Hibernate应用基础知识
企业级JAVA II 软件工程系:聂常红 cred_n@163.com 内容回顾 输入校验概念 输入校验方式 Struts2校验框架校验语法 常用Struts2校验器 Struts2校验器配置方式 第8讲 Hibernate应用基础知识 8.1ORM框架 8.2 Hibernate 8.2.1 Hibernate的运行环境 8.2.2 持久化类 8.2.3 映射文件 8.2.4 Hibernate核心类与接口 8.3 开发一个简单的Hibernate项目 8.4 Hibernate对象的三种状态 8.5 持久层设计模式 8.6 基于持久层框架的DAO模式应用示例 8.1 ORM 问题引入: 面向对象语言:对象模型,主要概念是类、对象、继承、多态、关联等 关系型数据库:关系模型,主要概念是表、记录、主键、外键等 面向对象语言和数据库之间存在模型不匹配(阻抗不匹配)问题 问题解决办法: 使用ORM框架 ORM: ORM(Object/Relation Mapping,对象、关系数据库映射),用于实现Java应用中的对象与关系数据库中的数据的映射,从而可以通过持久化对象(PO)以面向对象的方式来操作数据库。 ORM关系图: 8.2 hibernate 主流的ORM框架有hibernate、TopLink等,其中hibernate应用最广泛 Hibernate是轻量级的Java EE应用的持久层解决方案。它对JDBC进行了轻量级的封装,不仅能管理Java类到数据库表的映射,还能提供数据查询和获取数据的方法。 使用Hibernate可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间 Hibernate简要体系架构: 8.2.1 Hibernate运行环境 需要以下jar文件: 配置hibernate.cfg.xml文件或perties属性文件 用于配置数据库连接设置、Hibernate属性设置及映射文件设置。 两者取一,常用xml文件 hibernate.cfg.xml示例: 8.2.2 持久化类 ORM的作用是把对PO的CRUD等操作转换成对数据库的相关操作。 持久化类编写规范: 必须具有无参构造方法 具有一个主键属性 非final类,否则无法使用懒加载以及代理 使用JavaBean的编写规范来编写属性的setter和getter方法 持久化类创建示例: 8.2.3 映射文件 用于设置持久化类与数据库表的映射关系,是hibernate的核心所在。 一般以持久化类名+hbm.xml来命名,如Person.hbm.xml;并保存在与持久化类同目录下 最主要的元素有: class: 设置类-表之间的映射 id: 设置主键映射 property:设置普通属性-表字段之间的映射 one-to-one 、many-to-one 、many-to-many :设置关联映射 映射文件示例: 常用主键生成方式: assigned: 由应用程序生成 identity: 使用数据库提供的自增长主键机制,如Mysql sequence: 使用数据库提供的sequence机制生成主键,如oracle native:由hibernate根据数据库驱动定义,自动选择主键生成机制 8.2.4 Hibernate核心API Configuration类: 负责读取及解析Hibernate的配置信息 创建SessionFactory实例 SessionFactory接口: 是数据库编译后的内存镜向,其中缓存了解析后的配置信息 在应用初始化时创建,对于使用一个数据库的应用程序只有一个会话工厂 用于创建Session实例 Session接口: Session封装了与数据库之间的一系列操作 所有持久化操作都需要使用该接口 所有持久化操作完成后,需要关闭会话 Transaction接口: 使用Hibernate进行持久化操作必须显式开启事务 使用Session实例开启事务 持久化操作在事务提交后生效 使用Hibernate进行持久化操作步骤 搭建Hibernate运行环境 配置hibernate.cfg.xml文件 创建持久化类,并设置映射文件 获取Configuration实例 获取SessionFactory实例 获取Session实例 开启事务 用面向对象的方式操作数据库 提交或回滚事务,关闭Session 8.3 开发一个简单的Hibernate项目 ①建立数据库 ②新建Java项目 ③将Hibernate所需JAR文件及数据库驱动类库添加到构建路径 ④编写Hibernate配置文hibernate.cfg.xml,保存在src目录下 ⑤编写持久化类 ⑥编写映射文件xxx.hbm.xml ⑦编写测试类 ④编写hibernat
文档评论(0)