Hibernate入门教程:配置与实体映射
需积分: 9 133 浏览量
更新于2024-08-23
收藏 2.26MB PPT 举报
"这篇资料是关于Hibernate配置的课件,主要介绍了如何配置Hibernate的核心配置文件hibernate.cfg.xml以及实体映射文件User.hbm.xml,同时也涵盖了Hibernate入门的基础知识和在项目中的应用。"
在Java开发中,Hibernate是一个非常流行的Object-Relational Mapping (ORM)框架,它提供了一种将Java对象与关系数据库之间进行映射的方法,简化了数据库操作。本课件主要讲解了使用Hibernate进行数据持久化的基础,包括以下关键知识点:
1. **Hibernate配置文件** - `hibernate.cfg.xml`
- 这个文件是Hibernate的主配置文件,它定义了数据库的相关信息,例如:
- `dialect` 属性设置数据库方言,例如`org.hibernate.dialect.Oracle9Dialect`对应Oracle 9i数据库。
- `connection.url` 设置数据库连接URL,如`jdbc:oracle:thin:@10.0.0.188:1521:ORCL`。
- `connection.username` 和 `connection.password` 分别是数据库的用户名和密码。
- `connection.driver_class` 指定数据库驱动,这里是`oracle.jdbc.driver.OracleDriver`。
2. **数据库连接信息**
- 数据库URL,用户名,密码和驱动都是在配置文件中指定,用于建立到数据库的连接。
3. **实体映射文件** - `User.hbm.xml`
- 这种文件用于定义Java对象(类)与数据库表之间的映射关系,例如:
- `<class>` 标签定义了一个映射的Java类(`cn.jbit.houserent.bean.User`)及其对应的数据库表(`users`)。
- `<id>` 标签定义了主键,这里`name="id"`对应类中的属性,`generator="native"`表示主键自动生成。
- `<property>` 标签定义了其他字段,如`password`,`telephone`和`username`,并指定了其在数据库表中的列名、长度和其他属性。
4. **Hibernate的映射机制**
- Hibernate通过XML映射文件或者注解将Java对象的属性映射到数据库表的列,使得可以对对象进行操作而无需直接执行SQL语句。
5. **持久化** - 是指将对象的状态保存到持久化存储介质(如数据库)中,以便在程序的后续运行或重启后仍然能恢复这些状态。Hibernate通过ORM机制实现了这一过程。
6. **HQL(Hibernate Query Language)** 和 **Criteria API**
- HQL是Hibernate特有的面向对象的查询语言,类似于SQL,但操作的对象是Java实体类。
- Criteria API提供了一种更动态的方式来构建查询,无需直接写HQL或SQL。
7. **课程目标**
- 学习者应能理解和使用Hibernate实现数据的持久化,熟悉在项目中使用Hibernate进行增删改查操作,掌握HQL和Criteria查询,并了解Oracle数据库的性能优化。
通过本门课程的学习,开发者将能够掌握Hibernate的基础知识和实践技能,为Java项目的数据库操作提供便利。同时,课件中提到的“青鸟租房系统”项目,可以作为实际操作的练习,帮助巩固所学知识。在学习Hibernate之前,建议先回顾JDBC操作数据库的基本步骤,以便更好地理解Hibernate的工作原理。
2017-10-11 上传
2017-08-22 上传
2010-03-11 上传
2024-01-28 上传
2023-11-20 上传
2023-05-20 上传
2023-09-23 上传
2023-06-13 上传
2023-09-09 上传
小婉青青
- 粉丝: 23
- 资源: 2万+
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升