Hibernate 框架基本知识
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>
Hibernate 框架基本知识的更多相关文章
- Hibernate框架(未完待续······)
作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编 ...
- Hibernate框架(一)——总体介绍
作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编写重复的 ...
- Hibernate框架(一)总结介绍
作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编写重复的 ...
- Hibernate框架之Criteria查询 和注解(重点☆☆☆☆☆,难点☆☆☆)
写好一篇博客,不是容易的事.原因是:你要给自己以后看的时候,还能看懂,最重要的是当别人看到你的博客文章的时候,也一样很清楚的明白你自己写的东西.其实这也是一种成就感!! 对于每一个知识点,要有必要的解 ...
- 深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架
这篇博客是hibernate学习的第一篇,主要简介hibernate框架,之后简单说一下hibernate的文件夹结构,最后写一个简单的hibernate实例.通过这三步来简单的认识一下hiberna ...
- Hibernate框架进阶(下篇)之查询
导读 Hibernate进阶篇分为上中下三篇,本文为最后一篇,主要内容是Hibernate框架的查询,主要包括hql语句查询,criteria查询以及查询策略的选择. 知识框架 Hibernate查询 ...
- 深入浅出学习Hibernate框架(二):JDBC基础操作
上篇博客<深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架>简单介绍了一下Hibernate框架,并且举了一个实例来了解Hibernate.这篇博客将介绍JD ...
- 基于Maven的S2SH(Struts2+Spring+Hibernate)框架搭建
1. 前言 基于Maven的开发方式开发项目已经成为主流.Maven能很好的对项目的层次及依赖关系进行管理.方便的解决大型项目中复杂的依赖关系.S2SH(Struts2+Spring+Hibernat ...
- Sword框架解析——知识采集流程页面初始化
Sword框架解析——知识采集流程页面初始化 Sword框架解析知识采集流程页面初始化 问题解答流程采集新增页面初始化 1后台t_xt_gnzy表和BLH类 2BLH类的写法前台目录树代码 3登录系统 ...
随机推荐
- Js中call apply函数以及this用法
this介绍: C#里this关键字的意义比较确定的.JavaScript的this关键字,随着函数使用场合不同,this的值会发生变化,感觉用法比较混乱,所以,现在是有必要整理一下的时刻了! 总结一 ...
- linux挂载分区
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda2 36G .3G 32G % / tmpf ...
- ActionInvoker
ActionInvoker 还是这张图: 当ControllerFactory生成Controller实例后,这时就需要使用ActionInvoker来选择调用一个合适的Action执行.ASP.NE ...
- CFileDialog类与16进制格式的dat文件
CFileDialog类与16进制格式的dat文件 要将数据保存为.dat文件,而且是16进制的数字,怎么保存? 要读取.dat文件,文件是16进制的,怎么读取? 用CFileDialog类可以得到[ ...
- Asp.net Mvc4默认权限详细(上)
Asp.net Mvc4默认权限详细(上) 前言 上篇的菜鸟去重复之Sql的问题还没有得到满意的答案.如果哪位大哥有相关的资料解释,能够分享给我,那就太谢谢了. 以后每发表一篇博文我都会将以前遗留的问 ...
- asp.net MVC 路由机制
1:ASP.NET的路由机制主要有两种用途: -->1:匹配请求的Url,将这些请求映射到控制器 -->2:选择一个匹配的路由,构造出一个Url 2:ASP.NET路由机制与URL重写的区 ...
- 自己做个 Tag标签
这是效果图,下面是源码,时间有限,有时间再完善 http://files.cnblogs.com/wxwall/tag.zip
- java自动生成略缩图
当你要做一个图库的项目时,对图片大小.像素的控制是首先需要解决的难题. 本篇文章,在前辈的经验基础上,分别对单图生成略缩图和批量生成略缩图做个小结. 一.单图生成略缩图 单图经过重新绘制,生成新的图片 ...
- C语言中判断int,long型等变量是否赋值的方法
博主这段时间在写一些C程序的代码,由于以前对C不是了解很多,故遇到很多瓶颈,当然,其中也有很多有趣的方法可以利用以解决这些难题,下面这个问题就是博主遇到的一个麻烦. 声明了 int ,long 型等局 ...
- asp.net MVC 模拟实现与源码分析
前言 本文流程#1: 从一个空项目->模拟实现一个从/Home/Test形式的URL敲入->后台逻辑处理->传入后台model参数->调用razor引擎->前台展示 涉及 ...