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登录系统 ...
随机推荐
- 长度为n的数组,有一个数重复出现了n/2+1次,找出(三种方法)
问题: 长度为n的数组,有一个数重复出现了n/2+1次,找出这个数: 解决: 比较直接的思路是遍历每个元素,让其与剩下其他元素比较,相等一次计数器sum++,直到sum=n/2+1为止: #inc ...
- .net postsharp编译时生成的代码?
使用PostSharp进行AOP框架设计:一个简单的原型 AOP已经不是一个什么新名词了,在博客园使用关键字搜索可以查出n多条关于AOP的介绍,这里就不再赘述了. 在Bruce Zhang's B ...
- 飘逸的python - zlib压缩存到数据库
当每天有大量的数据存到kv数据库中去,且value数据很大,于是想压缩后再存进去. 之前提到了 gzip压缩,为什么不直接用gzip呢. 其实更确切的说gzip是一种文件格式,它压缩成gzip文件,而 ...
- c# winform 在一个窗体中使用另一个窗体中TextBox控件的值——解决办法
[前提]一个winform应用程序项目中,窗体B,需要使用 窗体A 中一个TextBox控件的值,进行计算等操作. [解决方案] 1.在窗体A中定义:public static double a;// ...
- 测试HashTable、Collections.synchronizedMap和ConcurrentHashMap的性能
对于map的并发操作有HashTable.Collections.synchronizedMap和ConcurrentHashMap三种,到底性能如何呢? 测试代码: package com. ...
- 谱聚类(Spectral Clustering)详解
谱聚类(Spectral Clustering)详解 谱聚类(Spectral Clustering, SC)是一种基于图论的聚类方法——将带权无向图划分为两个或两个以上的最优子图,使子图内部尽量相似 ...
- solrcloud集群部署
Zookeeper安装 Zookeeper的安装和配置十分简单, 既可以配置成单机模式, 也可以配置成集群模式. 下面将分别进行介绍. 注意防火墙和selinux,关闭后进行如下配置,由于是Java写 ...
- 第三届蓝桥杯Java高职组决赛第一题
题目描述: 看这个算式: ☆☆☆ + ☆☆☆ = ☆☆☆ 如果每个五角星代表 1 ~ 9 的不同的数字. 这个算式有多少种可能的正确填写方法? 173 + 286 = 459 295 + 173 = ...
- Android消息推送之各种方案的对比
C2DM/GCM: 优点:免费,搭建方便 缺点:依赖谷歌服务器:免费服务有上限:依赖谷歌服务包:需要2.2+版本的安卓系统才支持:对网络状况有一定要求,接收不可靠.(也是基于XMPP协议) XMPP( ...
- 使用 IDEA 创建 Maven Web 项目 (一)- 使用IEAD创建Maven项目
创建IDEA项目 单击 Create New Project 按钮,弹出 New Project 对话框. 选择 Maven 选项,单击 Next 按钮. 输入 GroupId.ArtifactId. ...