hibernate课程笔记.doc
Hibernate 是一个开源的对象关系映射(ORM)框架,它简化了Java应用程序对数据库的操作。在JDBC(Java Database Connectivity)的基础上,Hibernate 提供了面向对象的编程模型,减少了与数据库交互时的繁琐代码,提高了开发效率。以下是关于Hibernate的一些关键知识点: ### 1. JDBC 的优缺点 **JDBC的优点**: - 直接与数据库交互,提供了简单且跨平台的接口。 - 具有高度灵活性,允许编写复杂的SQL语句。 **JDBC的缺点**: - 面向过程,无法充分利用面向对象编程的优势。 - 代码重复多,如打开/关闭连接、事务处理等。 - 大量交互可能导致性能降低,尤其是在大量数据操作时。 ### 2. Hibernate 的优势 - **面向对象编程**:Hibernate实现了对象与数据库之间的映射,使得开发者可以使用Java对象进行数据库操作,避免了手动编写SQL语句。 - **简化代码**:相比于JDBC,Hibernate提供了更高的抽象层次,减少了手动管理连接、预编译语句等操作。 - **缓存机制**:Hibernate支持一级和二级缓存,提高数据访问速度,降低了对数据库的直接访问频率。 - **自动持久化**:通过注解或XML配置,可以轻松实现对象的持久化。 ### 3. Hibernate的核心组件 - **Configuration**:配置类,负责读取配置信息(如`hibernate.cfg.xml`),设置数据库连接参数,以及持久化类和映射文件的关系。 - **SessionFactory**:工厂类,根据Configuration对象生成,用于创建Session实例。SessionFactory内含数据库配置、映射信息和二级缓存。 - **Session**:类似于JDBC的Connection,是数据库操作的主要接口,负责执行查询、保存、更新和删除操作。 - **Transaction**:处理事务,提供事务管理功能。 - **Criteria/Query**:提供了更高级别的查询API,可以动态构建查询条件。 ### 4. Hibernate的配置文件(`hibernate.cfg.xml`) 配置文件包含了数据库连接信息和运行时配置,例如: - `Hibernate.connection.url`:数据库URL。 - `Hibernate.connection.driver_class`:数据库驱动类。 - `Hibernate.connection.username`和`Hibernate.connection.password`:数据库认证信息。 - `Hibernate.dialect`:数据库方言,用于生成正确的SQL。 - `hibernate.hbm2ddl.auto`:控制数据库 schema 的自动创建或更新行为。 ### 5. 持久化类与映射文件 - **持久化类**:代表数据库中的表,包含对象属性。 - **映射文件**(`.hbm.xml`):定义对象与表之间的映射规则,如字段对应、主键生成策略等。 ### 6. 常见操作 - **查询**:使用Session的`load()`或`get()`方法获取对象,`createCriteria()`或`createQuery()`构建复杂查询。 - **删除**:通过Session的`delete()`方法。 - **更新**:`update()`方法。 - **保存**:`save()`或`saveOrUpdate()`方法。 ### 7. 缓存 - **一级缓存**:每个Session内部的缓存,生命周期与Session相同。 - **二级缓存**:SessionFactory级别的缓存,可配置为集群共享,提升了多线程环境下的性能。 Hibernate作为ORM框架,通过将Java对象与数据库表进行映射,极大地简化了数据库操作,提高了开发效率,同时也引入了缓存机制来优化性能。对于初学者而言,理解并熟练运用Hibernate能显著提升数据库操作的能力。




































剩余46页未读,继续阅读


- 粉丝: 64
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 【状态估计】基于UKF法、AUKF法、EUKF法电力系统三相状态估计研究附Matlab代码.rar
- 【阻抗建模、验证扫频法】光伏并网逆变器扫频与稳定性分析(包含锁相环电流环)附Simulink仿真 - 副本.rar
- 【最新算法】人工兔优化:一种解决工程优化问题的新型生物启发元启发算法附Matlab代码.rar
- AVL响应和根位点的纵向基质配方附Matlab代码.rar
- Hough变换用于UiO数字图像分析研究附Matlab代码.rar
- IIR滤波器用于去除背景音频研究附Matlab代码.rar
- MATLAB基于3D FDTD的微带线馈矩形天线分析[用于模拟超宽带脉冲通过线馈矩形天线的传播,以计算微带结构的回波损耗参数]附Matlab代码.rar
- IMU数据均值滤波分析附Matlab代码.rar
- Pulse Compression脉冲压缩研究附Matlab代码.rar
- UWB-IMU、UWB定位对比研究附Matlab代码.rar
- MATLAB主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性附Matlab代码.rar
- Zernike 多项式在圆形、六边形、椭圆形、矩形或环形瞳孔上应用附Matlab代码.rar
- 采用GPS、里程计和电子罗盘作为定位传感器,EKF作为多传感器的融合算法,最终输出目标的滤波位置附Matlab代码.rar
- 采用P-f和Q-V滞控的去中心化逆变器型交流微电网的模拟附Simulink仿真.rar
- 【最新版】 GBT 19024-2025 质量管理体系 面向质量结果的组织管理 实现财务和经济效益的指南.rar
- 电动过滤器:LPF和HPF、模拟调制:调幅和调频、WiFi、蓝牙和蜂窝网络的容量分析.....附Matlab代码.rar


