- 1、本文档共166页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
讲师:佟刚
新浪微博:尚硅谷-佟刚
Hibernate
Hello Hibernate
什么是 Hibernate ?
一个框架
一个 Java 领域的持久化框架
一个 ORM 框架
对象的持久化
狭义的理解,“持久化”仅仅指把对象永久保存到数据库中
广义的理解,“持久化”包括和数据库相关的各种操作:
保存:把对象永久保存到数据库中。
更新:更新数据库中对象(记录)的状态。
删除:从数据库中删除一个对象。
查询:根据特定的查询条件,把符合查询条件的一个或多个对象从数据库加载到内存中。
加载:根据特定的OID,把一个对象从数据库加载到内存中。
为了在系统中能够找到所需对象,需要为每一个对象分配一个唯一的标识号。在关系数据库中称之为主键,而在对象术语中,则叫做对象标识(Object identifier-OID).
ORM
ORM(Object/Relation Mapping): 对象/关系映射
ORM 主要解决对象-关系的映射
ORM的思想:将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对数据库的操作转化为对对象的操作。
ORM 采用元数据来描述对象-关系映射细节, 元数据通常采用 XML 格式, 并且存放在专门的对象-关系映射文件中.
ORM
流行的ORM框架
Hibernate:
非常优秀、成熟的 ORM 框架。
完成对象的持久化操作
Hibernate 允许开发者采用面向对象的方式来操作关系数据库。
消除那些针对特定数据库厂商的 SQL 代码
myBatis:
相比 Hibernate 灵活高,运行速度快
开发速度慢,不支持纯粹的面向对象操作,需熟悉sql语
句,并且熟练使用sql语句优化功能
TopLink
OJB
Hibernate 与 Jdbc 代码对比
Hibernate 实现
JDBC 实现
安装 hibernate 插件
安装方法说明(hibernatetools-4.1.1.Final):
Help -- Install New Software...
Click Add...
In dialog Add Site dialog, click Archive...
Navigate to hibernatetools-Update-4.1.1.Final_2013-12-08_01-06-33-B605.zip and click Open
Clicking OK in the Add Site dialog will bring you back to the dialog Install
Select the Jboss Tools hibernatetools Nightly Build Update Site that has appeared
Click Next and then Finish
Approve the license
Restart eclipse when that is asked
准备 Hibernate 环境
导入 Hibernate 必须的 jar 包:
加入数据库驱动的 jar 包:
Hibernate开发步骤
2. 创建持久化类
3. 创建对象-关系映射文件
4. 通过 Hibernate API 编写访问数据库的代码
1. 创建 Hibernate 配置文件
1. 创建持久化 Java 类
提供一个无参的构造器:使Hibernate可以使用Constructor.newInstance() 来实例化持久化类
提供一个标识属性(identifier property): 通常映射为数据库表的主键字段. 如果没有该属性,一些功能将不起作用,如:Session.saveOrUpdate()
为类的持久化类字段声明访问方法(get/set): Hibernate对JavaBeans 风格的属性实行持久化。
使用非 final 类: 在运行时生成代理是 Hibernate 的一个重要的功能. 如果持久化类没有实现任何接口, Hibnernate 使用 CGLIB 生成代理. 如果使用的是 final 类, 则无法生成 CGLIB 代理.
重写 eqauls 和 hashCode 方法: 如果需要把持久化类的实例放到 Set 中(当需要进行关联映射时), 则应该重写这两个方法
1. 创建持久化 Java 类
Hibernate 不要求持久化类继承任何父类或实现接口,这可以保证代码不被污染。这就是Hibernate被称为低侵入式设计的原因
2. 创建对象-关系映射文件
Hibernate 采用 XML 格式的文件来指定对象和关系数据之间的映射. 在运行时 Hibernate 将根据这个映射文件来生成各种 SQL 语句
映射文
您可能关注的文档
最近下载
- 2022年度公共营养师二级专业技能考试题库.doc
- 《初中女生的青春期教育》专题ppt课件.pptx VIP
- 2024时事政治考试题库(附答案).pdf VIP
- 亚磷酸三甲酯(三甲氧基磷)的理化性质及危险特性表.docx VIP
- 平板型太阳能集热器采购、安装工程太阳能热水系统施工组织方案可编辑.doc VIP
- 道路运输企业安全管理培训(共162张课件).pptx VIP
- 气道危重试题及答案.docx
- 大国兵器学习通超星期末考试答案章节答案2024年.docx
- 市场营销原理(亚洲版·第3版)全套PPT课件.pptx
- 2023-2024学年广东省佛山市顺德区六年级上学期期末数学试卷(含答案).doc
文档评论(0)