hibernate学习笔记01
### Hibernate学习笔记01 #### 一、Hibernate简介与安装 **Hibernate** 是一款开源的对象关系映射(Object Relational Mapping, ORM)框架,它能够有效地简化Java应用程序与数据库之间的交互,提供了一种更为优雅的方式来处理数据库操作。通过ORM技术,开发者可以直接使用面向对象的方式来操作数据库,无需编写复杂的SQL语句。 ##### 1.1 Hibernate开发环境搭建 - **下载Hibernate包** - 下载地址: [http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc](http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc) - 解压后的目录结构包括: - `documentation`: 包含Hibernate官方文档 - `lib`: 包含Hibernate相关的库文件 - `required`: 必需的依赖包 - `optional`: 可选的jar包 - `project`: 提供的示例项目 - **导入jar包**: 在创建Java项目时,需要将`lib/required`中的所有jar包导入项目的`lib`目录,并确保这些包已被添加到项目的构建路径(Build Path)中。 - **下载数据库驱动** - **Oracle JDBC Driver**: - 下载地址: [http://otn.oracle.com/software/htdocs/distlic.html?/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html](http://otn.oracle.com/software/htdocs/distlic.html?/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html) - **MySQL JDBC Driver**: - 下载地址: [https://dev.mysql.com/downloads/connector/j/3.0.html](https://dev.mysql.com/downloads/connector/j/3.0.html) #### 二、创建数据库与表 - **创建数据库**: 根据项目需求创建相应的数据库。 - **创建表**: 设计并创建符合业务逻辑的表结构。 #### 三、实体类与映射文件的创建 - **实体类**: 根据数据库表结构创建对应的Java实体类,确保每个实体类都有对应的getter和setter方法。 - **映射文件**: 映射文件通常命名为`类名.hbm.xml`,用于定义实体类与数据库表之间的映射关系。 - **基本配置**: ```xml <hibernate-mapping package="com.java.hibernate.demo1"> <class name="Customer" table="cst_customer"> <id name="cust_id" column="cust_id"> <generator class="native"/> </id> <property name="cust_name" column="cust_name"/> </class> </hibernate-mapping> ``` - **`class`标签**: 定义类与表之间的映射关系。 - `name`: 类的全路径。 - `table`: 表名。 - **`id`标签**: 定义主键。 - `name`: 实体类中的主键名称。 - `column`: 表中对应的字段名。 - `generator`: 主键生成策略。 - **`property`标签**: 非主键字段的映射。 - `name`: 实体类中的属性名称。 - `column`: 表中的字段名。 #### 四、核心配置文件(hibernate.cfg.xml) - **配置结构**: ```xml <hibernate-configuration> <session-factory> <!-- 数据库连接配置 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/yourdb</property> <property name="connection.username">root</property> <property name="connection.password">password</property> <!-- Dialect --> <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property> <!-- 显示SQL --> <property name="show_sql">true</property> <!-- 自动创建表 --> <property name="hbm2ddl.auto">create</property> <!-- 映射文件位置 --> <mapping resource="com/java/hibernate/demo1/Customer.hbm.xml"/> </session-factory> </hibernate-configuration> ``` - **导入DTD约束**: - 复制网络连接路径,并将其添加到配置文件的头部。 - 使用开发工具进行约束的导入操作,具体步骤如下: 1. 打开开发工具的Preferences设置。 2. 寻找DTD/Schema的导入选项。 3. 按照提示填写Location、keytype、Key等信息。 #### 五、编写测试代码 - 创建测试类,利用SessionFactory获取Session,并执行基本的CRUD操作。 #### 六、项目整体结构 - 项目的整体结构通常包括以下几个部分: - `src/main/java`: 存放实体类和其他Java源码文件。 - `src/main/resources`: 存放配置文件(如hibernate.cfg.xml)。 - `lib`: 存放第三方库文件。 - `test`: 存放测试类。 #### 七、Hibernate常见设置详解 - **导入约束**: 需要在配置文件中导入类与表之间的映射配置文件以及核心配置文件。 - **映射配置**: 详细介绍了`hibernate-mapping`文件中的各种标签及其属性配置。 - **核心配置**: 介绍了`hibernate.cfg.xml`文件的结构及常用配置项。 通过以上步骤,我们可以成功地搭建一个基于Hibernate的开发环境,并实现对数据库的基本操作。Hibernate的学习不仅仅局限于这些基础知识,还包括更高级的功能如缓存机制、查询语言等,希望这份学习笔记能为你的学习之路提供一定的帮助。
剩余24页未读,继续阅读
- 粉丝: 65
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助