hibernate学习总结
**hibernate学习总结** **一、Hibernate简介** Hibernate 是一款强大的对象关系映射(ORM)框架,它允许开发者在 Java 应用程序中使用面向对象的方式来操作数据库,从而简化了数据库操作。Hibernate 提供了从 Java 类到数据库表之间的映射,以及 SQL 查询语言的替代——HQL(Hibernate Query Language)。 **二、环境配置** 1. **开发工具**:Eclipse 3.2.2 2. **Hibernate 插件**:Hibernate Synchronizer 3.1.9 3. **数据库**:Oracle 9i 4. **Hibernate 版本**:3.2.4.sp1 **三、数据库准备** 1. 创建表空间 `study`,大小为 50MB。 2. 创建用户 `study`,赋予 `connect`, `dba`, `resource` 权限。 **四、表结构** 创建名为 `LOGIN` 的表,包含以下字段: - `ID`:NUMBER(10) - `NAME`:VARCHAR2(50) - `PASSWORD`:VARCHAR2(50) **五、Eclipse 配置** 1. 将 Hibernate Synchronizer 插件解压并放入 Eclipse 的 `plugins` 目录。 2. 新建 Java 项目,将 Hibernate 的核心库 `hibernate3.jar` 和所有相关 `lib` 下的 jar 包,以及 Oracle JDBC 驱动添加到项目的类路径中。 **六、配置文件** 1. 创建 `hibernate.cfg.xml` 配置文件,通过 Eclipse 的 Hibernate 插件自动生成。 2. 在 `hibernate.cfg.xml` 文件中,添加数据源、SessionFactory、持久化类等配置。 **七、映射文件与实体类** 1. 使用 Hibernate 插件创建 `Login.hbm.xml` 映射文件,定义 `Login` 类与 `LOGIN` 表的映射关系。 2. 自动生成 `Login.java` 实体类和 `BaseLogin.java` 基类。 3. 在 `Login.hbm.xml` 文件中,手动添加 `<mapping>` 标签,将映射文件引入配置文件。 **八、代码示例** 1. 添加 `Test.java` 测试类,实现对象的持久化操作。 2. 修改 `Login.hbm.xml` 文件,删除自动生成的 `username` 属性,并添加相应映射。 **九、XML 插件** 使用 XML Buddy 插件提高 XML 编辑效率。 **十、自动创建表** 通过在 `hibernate.cfg.xml` 中添加 `<property name="hbm2ddl.auto">create</property>`,使得 Hibernate 可以根据映射文件自动创建数据库表。 **十一、批处理设置** 为了提高性能,可以设置批处理大小,例如: ```xml <property name="hibernate.jdbc.batch_size">50</property> ``` 这将使得 Hibernate 在执行 SQL 时,一次性处理 50 个操作,从而提高数据库交互的效率。 Hibernate 学习涉及到数据库配置、实体类和映射文件的创建、配置文件的编写,以及利用 Hibernate 进行对象的持久化操作。熟练掌握这些步骤,能帮助开发者更高效地进行数据库驱动的应用程序开发。在实际应用中,还需要了解更多的高级特性,如缓存策略、事务管理、查询优化等,以便更好地利用 Hibernate 提升项目开发效率。
- 粉丝: 1
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机毕业设计:python+爬虫+cnki网站爬
- nyakumi-lewd-snack-3-4k_720p.7z.002
- 现在微信小程序能用的mqtt.min.js
- 基于MPC的非线性摆锤系统轨迹跟踪控制matlab仿真,包括程序中文注释,仿真操作步骤
- 基于MATLAB的ITS信道模型数值模拟仿真,包括程序中文注释,仿真操作步骤
- 基于Java、JavaScript、CSS的电子产品商城设计与实现源码
- 基于Vue 2的zjc项目设计源码,适用于赶项目需求
- 基于跨语言统一的C++头文件设计源码开发方案
- 基于MindSpore 1.3的T-GCNTemporal Graph Convolutional Network设计源码
- 基于Java的贝塞尔曲线绘制酷炫轮廓背景设计源码