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 框架基本知识的更多相关文章

  1. Hibernate框架(未完待续······)

        作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编 ...

  2. Hibernate框架(一)——总体介绍

    作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编写重复的 ...

  3. Hibernate框架(一)总结介绍

    作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编写重复的 ...

  4. Hibernate框架之Criteria查询 和注解(重点☆☆☆☆☆,难点☆☆☆)

    写好一篇博客,不是容易的事.原因是:你要给自己以后看的时候,还能看懂,最重要的是当别人看到你的博客文章的时候,也一样很清楚的明白你自己写的东西.其实这也是一种成就感!! 对于每一个知识点,要有必要的解 ...

  5. 深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架

    这篇博客是hibernate学习的第一篇,主要简介hibernate框架,之后简单说一下hibernate的文件夹结构,最后写一个简单的hibernate实例.通过这三步来简单的认识一下hiberna ...

  6. Hibernate框架进阶(下篇)之查询

    导读 Hibernate进阶篇分为上中下三篇,本文为最后一篇,主要内容是Hibernate框架的查询,主要包括hql语句查询,criteria查询以及查询策略的选择. 知识框架 Hibernate查询 ...

  7. 深入浅出学习Hibernate框架(二):JDBC基础操作

    上篇博客<深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架>简单介绍了一下Hibernate框架,并且举了一个实例来了解Hibernate.这篇博客将介绍JD ...

  8. 基于Maven的S2SH(Struts2+Spring+Hibernate)框架搭建

    1. 前言 基于Maven的开发方式开发项目已经成为主流.Maven能很好的对项目的层次及依赖关系进行管理.方便的解决大型项目中复杂的依赖关系.S2SH(Struts2+Spring+Hibernat ...

  9. Sword框架解析——知识采集流程页面初始化

    Sword框架解析——知识采集流程页面初始化 Sword框架解析知识采集流程页面初始化 问题解答流程采集新增页面初始化 1后台t_xt_gnzy表和BLH类 2BLH类的写法前台目录树代码 3登录系统 ...

随机推荐

  1. UNIX系统接口

    UNIX系统接口 8.1 文件描述符 UNIX操作系统中,所有的外围设备(包括键盘和显示器)都被看作是文件系统中的文件.系统通过文件描述符来标识文件:标准输入为0,标准输出为1,标准错误为2. 当程序 ...

  2. .NET:脏读、不可重复读和幻读测试

    目录 背景脏读原因重现和避免不可重复读原因重现和避免幻读原因重现和避免嵌套事务导致的死锁备注 背景返回目录 昨天才发现如果一条数据被A事务修改但是未提交,B事务如果采用“读已提交”或更严格的隔离级别读 ...

  3. 对象转Json序列化

    C#--对象转Json序列化 前言 最近在研究Android项目,其中涉及到Android中解析Json数据的问题,需要模拟网络中传递Json数据的模式,因为以前是.net的工程师,所以想着从.net ...

  4. Python之路3Day

    3.python基础补充(集合,collection系列,深浅拷贝)   一.集合 1.集合(set): 把不同的元素组成一起形成集合,是python基本的数据类型.集合元素(set elements ...

  5. Effective C++ 第二版 1)const和inline 2)iostream

    条款1 尽量用const和inline而不用#define >"尽量用编译器而不用预处理" Ex. #define ASPECT_R 1.653    编译器永远不会看到AS ...

  6. c++课程设计之通讯录电话簿管理设计

    功能 本程序是利用c++实现一个简单的电话簿管理.我是在Linux下利用g++直接编译的,完全可以将文件在VC中编译执行.源程序如有需要自行下载,点此下载,下载程序编译执行 程序执行效果如下; 1.新 ...

  7. Java synchronized 详解

    Java synchronized 详解 Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 1.当两个并发线程访问同一个对象object ...

  8. .NET基础——运算符

    这一篇我们来讲解C#中的运算符 1. C#中的算术运算符 5个算数运算符:+  -  *  /  %     它们都是二元运算符,*  /  % 的运算优先级相同,并且高于 +  - ,+  - 的运 ...

  9. 快速上手微信小程序-快递100

    2007 年 1 月 9 日,乔布斯在旧金山莫斯科尼会展中心发布了首款 iPhone,而在十年后的 1 月 9 日,微信小程序正式上线.张小龙以这样的形式,向乔布斯致敬. 小程序在哪里? 小程序功能模 ...

  10. [UWP小白日记-10]程序启动屏(ios解锁既视感)

    讲一下 微软爸爸的开发者大会2016又暴了个表达式动画和Windows.UI.Composition的API,好叼的样子. 官方示例库GitHub 目前是懵逼状态,好复杂.脑细胞已经在地府排队了. ( ...