Hibernate(冬眠,数据持久层框架)
作用:用来完成数据库的增删改查操作,以提到之前dao层jdbc的代码
Hibernate又称之为ORM框架
ORM:Object Relational Mapping(对象关系映射)
jdbc与Hibernate操作数据库的区别:
1.jdbc通过sql语句操作数据库,通过表名去操作数据库与之匹配的表,
通过列名操作表中与之对应的列
2.Hibernate是以面向对象的方式去操作数据,
通过操作java中的对象(实体类)来完成数据库的操作,
操作实体类(属性)进而去操作数据库中表(列)
hibernate是如何知道操作实体类(属性)与表(列)的对应关系呢?----
就是通过关系映射(实体映射文件)
此种操作就类似于之前反射课程中的:通用dao
注意:Hibernate再怎么以面向对象的方式操作数据库,
其仍然逃离不了最最基本的jdbc,
也就意味着Hibernate的原理其实还是jdbc,
只不过是在jdbc的基础上进行的一层封装
加入hibeinate支持:3.xx的版本
1:导入支持包
2:写hibernate的配置文件hibernate.cfg.xml,放在src的根目录
<?xml version=‘1.0‘ encoding=‘utf-8‘?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
</hibernate-configuration>
3:写实体类和实体类的映射文件
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
</hibernate-mapping>
4:在hibernate的主配置文件中关联映射文件
<mapping resource="entity/user_hbm.xml"/>
§ dom4j:Hibernate在解析XML配置和XML映像元文件时需要使用dom4j。
§ CGLIB:Hibernate在运行时使用这个代码生成库强化类(与Java反射机制联合使用)。
§ Commons Collections, Commons Logging(必需):Hibernat使用Apache Jakarta Commons项目提供的多个工具类库。
§ ODMG4:Hibernate提供了一个可选的ODMG兼容持久化管理界面。如果你需要映像集合,你就需要这个类库,就算你不是为了使用ODMG API。
§ EHCache:Hibernate可以使用不同的第二级Cache方案。如果没有修改配置的话,EHCache提供默认的Cache。
§ Log4j:Hibernate使用Commons Logging API,后者可以使用Log4j作为底层实施log的机制。如果上下文类目录中存在Log4j库,Commons Logging就会使用Log4j和它在上下文类路径中找到的