Hibernate框架简介
Hibernate简介
Hibernate 是一款免费开源的持久层框架,它对 JDBC 进行了轻量级的对象封装,将对象与数据库表建立了映射关系
使Java编程人员可以随心所欲地使用面向对象的编程思想操作数据库
SQL缺点:对几十、几百张包含几十个字段的表进行插入操作时,编写的 SQL 语句不但很长,而且繁琐,容易出错;在读取数据时,需要编写多条语句从结果集中取出各个字段的信息,工作量非常大
为了提高数据访问层的编程效率,Gavin King 开发了一个当今最流行的 ORM(即 Object-Relational Mapping 对象关系映射)框架—— Hibernate 框架
1.持久层:也称数据访问层、DAL层
其功能主要是负责数据库的访问,简单的说法就是实现对数据表的Select(查询),Insert(插入),Update(更新),Delete(删除)等操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化
数据访问层,简单的说,就是通过DAL对数据库进行的SQL语句等操作。
数据库访问层的主要职责是:读取数据和传递数据
2.ORM :对象-关系映射
利用描述对象和关系型数据库之间的映射信息,自动将 Java 应用程序中的对象持久化到关系型数据库的表中
项目中的业务实体有两种表现形式:对象和关系数据,即在内存中表现为对象,在数据库中表现为关系数据
Hibernate目录结构和基础JAR包介绍
官方网址 http://sourceforge.net/projects/hibernate/files/hibernate3/
目录结构:
名 称 | 说 明 |
---|---|
documentation 文件夹 | 该路径下存放了 Hibernate 的相关文档,包括 Hibernate 的参考文档和 API 文档等。 |
lib 文件夹 | 该路径下存放了 Hibernate 3 的核心类库,以及编译和运行所依赖的第三方类库。其中 lib 路径下的 required 子目录中包含了运行 Hibernate 3 所必须的 JAR 包。 |
project 文件夹 | 该路径下存放了 Hibernate 各种相关项目的源代码。 |
hibernate3.jar 文件 | 此 JAR 包是 Hibernate 3 的核心 JAR。 |
jar包说明:
JAR包名称 | 描 述 |
---|---|
hibernate3.jar | Hibernate 的核心包 |
antlr-2.7.6.jar | 语言转换工具,Hibernate 利用它实现 HQL 到 SQL 的转换 |
commons-collections-3.1.jar | collections Apache 的工具集,用于增强 Java 对集合的处理能力 |
dom4j-l.6.1.jar | dom4j XML解析器 |
javassist-3.12.0.GA.jar | 代码生成工具,Hibernate 利用它在运行时扩展 Java 类 |
jta-1.1.jar | 标准的 JAVA 事务(跨数据库)处理接口 |
slf4j-api-l.6.1.jar | 只是一个接口,用于整合 log4j |
hibernate-jpa-2.0-api-1.0.1.Final.jar | JPA 接口开发包 |
log4j-l.2.17.jar | Log4j 日志文件核心 JAR |
slf4j-log4jl2-l.7.12.jar | Hibernate 使用的一个日志系统 |
Hibernate 3 所依赖的 JAR 包共有 10 个。其中 hibernate-jpa-2.0-api-1.0.1.Final.jar 是 JPA 接口的开发包,它位于 Hibernate 的 lib 子目录的 jpa 文件夹中。由于 Hibernate 并没有提供对日志的实现,所以需要 slf4j 和 log4j 开发包整合 Hibernate 的日志系统到 log4j
环境创建
Hibernate 的环境搭建非常简单,将表 2 中的所有 JAR 包复制到项目的 WEB-INF/lib 目录下即可。需要注意的是,Hibernate 框架要想与数据库建立连接,使用时还需要导入相关数据库的驱动 JAR 包