Hibernate 框架基本知识

时间:2022-12-19 02:24:43

QTP:Quick Test Pressional
1,Hibernate是一个优秀的java持久化层解决方案,是当今主流的对象-关系映射(ORM,ObjectRelationalMapping)工具;就是能实现ORM(对象-关系映射)的框架;有时也简称框架,技术,解决方案等
2,瞬时状态:程序运行时,有些数据保存在内存中,当程序退出后,数据就不存在了,这些数据称为瞬时的;
持久状态:在使用软件时,有些数据,在程序退出后,还以文件的形式保存在硬盘中,则这些数据的状态就是持久的;数据存在数据库中,也是持久的;
持久化:将程序中的数据在瞬时状态和持久状态间转换的机制;
JDBC就是一种持久化机制,将程序数据直接保存成文件也是持久化机制的一种实现;
持久化通常是将程序数据保存在数据库中或是将数据库中的数据读取出来;
3,ORM简介:
ORM(对象关系映射):能在对象和关系型数据库间进行数据转换的机制
瞬时数据,也就是程序运行时放在内存中的数据,是以对象的形式存在的;
持久的数据,多是保存在数据库中,或是从数据看库中读取出来以对象的形式封装,
持久化工作:以面向对象的形式处理数据,以关系型数据的形式存到数据库中;所以需要一种能在两者之间进行数据转换的机制称为ORM(对象-关系映射机制);
Hibernate框架:能实现ORM的框架;
Hibernate:是一个优秀的Java持久化层解决方案,是当今主流的对象-关系映射工具;
Hibernate:框架对JDBC进行了封装,简化了数据访问层;
Hibernate:可以用到任何JDBC的场合中,既可以在java客户端程序中使用,也可以在Servlet或JSP的web应用中使用;使用XML配置文件来存储映射信息;
HIbernate的框架下载:官方主页是www.hibernate.org;需要的jar包可以到官网下载;
使用IDE(Integrated Development Environment)集成开发环境myeclipse/eclipse;
首先下载:hibernate-distribution-3.3.2.GA-dist.zip;解压之后,用到的是hibernate3.jar文件和lib文件夹里的所有jar文件;
但是有些要用的jar包文件是开源的需要单独下载如下:放到WEB-INF目录下的lib目录里面;
common-lang-2.3.jar ;
slf4j-api-1.5.8jar ;
log4j-1.2.16.jar ;
ojdbc14.jar ; (如果连接Oracle数据库还要用到的,但是不用下载,可以在Oracle数据库的安装目录下找到);
创建一个Java项目,项目名称是hibernate,项目下的目录结构有:
1)src:源文件的存放目录;(根目录)
2)WebRoot下的WEB-INF目录(classes和lib两个目录)是存放编译后的文件和第三方jar包的目录;classes里放的是编译后的文件,lib里放的是第三方jar包;创建好项目后,将所有需要的jar包都放到lib目录下;四个单独下载的jar包也放到lib里面,除了这4个,其他的就是hibernate自动获取的;
配置hibernate:
1)首先加载jar包:将lib目录下的jar包都加载到项目中,右键点击-build path然后configuration build path ;
2)项目的根目录src下创建一个名为hibernate.cfg.xml的文件,是hibernate的配置文件,其主要存放连接数据库 的配置信息,主要包括数据库的用户名,密码,jdbc驱动程序的位置,还可以根据需要添加其他的配置信息;

4,eclipse是开源的,myeclipse是商业版本,是eclipse的一个插件,内部集成了主流框架的内在支持,但占用空间大;
5,搭建Hibernate项目环境:
1)加载hibernate类库和依赖库
2)创建hibernate.cfg.xml配置文件(配置文件要放在src目录下),指定数据库连接信息及其映射文件路径;
driver:oracle.jdbc.driver.OracleDriver
url:jdbc.oracle.thin@10.0.0.63:1521.orcllib
3)创建持久化类和映射文件
Login.java Login.hbm.xml
在hibernate.cfg.xml中指定映射文件路径,<mapping resource="com/test/Login.hbm.xml"/>
4)创建Hibernate连接工具类
Hibernate主要接口和类:Hibernate最核心的jar包是hibernate3.jar
Configruration
SessionFactory (会话工厂类): DriverManager
Session:Connection
Transaction
Query :Statement 和 PrepareStatement

在配置(2)中的hibernate配置文件时,不需要一步一步的去写,而是到已有项目中复制一份hibernate.cfg.xml到本项目中,然后加以修改,如果没有已有项目,就到网上下载一份,然后粘贴到项目中,加以修改;复制到目录是src目录;

配置文件中的相关信息:

<property  name="connection.pool_size">2</property>  //代表是关于数据库连接的配置,数据库连接池的连接数是2

<property name="dialect" >org.hibernate.dialect.HSQLDialect</property> //数据库方言,针对不同的数据库版本将指令转换为对应的sql语句

<property name="show_sql">true</property> //是否是在控制台显示sql语句;

<property name="hbm2ddm.auto">create</property>  //由持久化类得到数据库表

<mapping resource="">//指定了映射文件的路径;

根据需要,有时只需要将基础的信息设置好即可:

<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>

<property name="connection.url">jdbc.oracle.thin@10.0.0.63:1521.orcllib</property>

<property name="connection.username">admin</property>

<property name="connection.password">admin</property>