Hibernate用法十分简单,当我们在Java项目中引入Hibernate框架之后,就能以面向对象的方式来操作关系数据库了。

下载:

登陆Hibernate官网,下载Hibernate压缩包,windows平台下载.zip包,Linux平台下载.tar包。

解压压缩包,可以看到如下目录结构:

documentation:该路径下存放Hibernate的相关文档,包括Hibernate的参考文档和API文档等。

lib:该路径下存放Hibernate 编译和运行所依赖的第三方类库   其中require目录中是必需的jar包。

project:该路径下存放了Hibernate各种相关项目的源代码。

由于Hibernate底层依然是基于JDBC的,因此在应用程序中使用Hibernate执行持久化时,一定少不了对应数据库的JDBC驱动包。

Hibernate的数据库操作:

在所有的ORM框架中都有一个什么重要的媒介:PO(Persistent Object) 持久化对象。Hibernate是低侵入式的设计,完全采用普通的Java Bean对象来作为持久化对象

使用。该持久化对象的类 不需要继承任何的父类,或者实现任何的接口。

Hibernate的XML文件有两类:映射文件和配置文件

映射文件:

文件名:XXXX.hbm.xml      (若干)

映射文件完成持久化类和数据库表,持久化类属性(Field)与数据库表列字段之间的对应关系。

配置文件:

文件名;hibernate.cfg.xml    (一个)

配置文件完成连接哪个数据库,连接数据库的用户名和密码,以及连接数据库时使用的连接池,以及要使用的映射文件。

Hibernate的配置文件默认文件名是hibernate.cfg.xml,当程序调用Configuration对象的configure()方法时,Hibernate会自动加载该文件。

持久化操作代码:

 public class  NewsManager
{
public static void main(String[] args)
{
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session sess = sf.openSession();
Transaction tran = sess.beginTransaction(); News new = new News();
new.setTitle("Hibernate");
new.setContent("First Hibernate Demo"); sess.save(new);
tran.commit();
sess.close();
sf.close(); }
}

持久化类:

 public class  News
{
private Integer id;
private String title;
private String content;
//id属性的setter和getter方法
.....
//title属性的setter和getter方法
......
//content属性的setter和getter方法
...... }

所以完成一次持久化操作,大概有如下步骤:

1.开发持久化类  , 配置映射文件

2.配置配置文件 , 连接数据库

3.在操作类中,获取Configuration类的实例对象

4.获取SessionFactory类的实例对象

5.获取Session类对象

6.获取Transaction类对象 ,打开事务

6.通过Session类对象,以面向对象的方式操作数据库

7.提交事务,关闭Session.

可见,对于持久化对象的操作必须在Session类的实例对象调用相应方法才能同步到数据库。Session类的实例对象,由SessionFactory工厂产生。SessionFactory是

数据库编译后的内存镜像,通常一个应用对应一个SessionFactory类实例对象。SessionFactory类实例对象,由Configuration类实例对象产生,而Configuration类实例对象通过configure()方法加载默认的配置文件hibernate.cfg.xml。

上面就是通过Hibernate进行了一次持久化操作,对比Hibernate和JDBC两种操作数据库的方式,可以发现Hibernate有两大优点:

1.不需要手写SQL语句,以面向对象的方式操作数据库

2.Hibernate把使用JDBC访问数据库过程中产生的大量checked异常包装成了runtime异常,从而不必显示捕捉或者抛出,保证了代码的简洁性。

Hibernate之Hibernate的下载与安装的更多相关文章

  1. [学习笔记] Hibernate 4.3.5 下载与安装

    下载 http://hibernate.org/orm/releases/4.3/ https://sourceforge.net/projects/hibernate/files/hibernate ...

  2. hibernate 各历史版本下载 spring各历史版本下载

    hibernate 各历史版本下载http://sourceforge.net/projects/hibernate/files/ spring各历史版本下载http://www.springsour ...

  3. eclipse安装hibernate插件(在线Marketplace中安装)

    网上很多都是给个网址,然后在eclipse的help中new install soft中安装.每次安装还要去查找最新的地址去安装.为什么不用eclipse的marketplace直接搜索安装呢? 打开 ...

  4. Hibernate 5 发行组件下载

    Hibernate 项目小组提供了一系列发布组合(bundles),这些发布组合发布在 SourceForge 文件发布系统中.这些发布的包有 TGZ 和ZIP 格式. 每一个发布组合包含有 JAR ...

  5. Spring、Hibernate、Struts官方下载地址

    hibernate 官网: http://hibernate.org/ hibernate3 官方下载:http://sourceforge.net/projects/hibernate/files/ ...

  6. Spring 下载与安装以及spring 3.2.9 jar包详解

    一.Spring简介  Spring官网改版后,很多项目的完整zip包下载链接已经隐掉了,虽然Spring旨在引导大家用更“高大上”的maven方式来管理所依赖的jar包,但是完全没想到中国的国情,在 ...

  7. reids(缓存,reids下载,安装 测试)

    什么是缓存:缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找.由于缓存的运行速度比内存快得多,故缓存的作用 ...

  8. [Hibernate 1]Hibernate的环境搭建

    一.Hibernate是什么 直接使用JDBC操作数据库的步骤很繁琐,JDBC操作的是关系型数据库,而我们用JAVA开发程序,则使用面向对象的思想.Hibernate正是在这两种不同的模型之间建立关联 ...

  9. Hibernate框架 初识 ORM概念 搭建Hibernate环境 Hibernate Api

    ORM概念 在学习 Hibernate 之前,我们先来了解ORM   对象关系映射 O, Object  对象 R,Realtion 关系  (关系型数据库: MySQL, Oracle…) M,Ma ...

随机推荐

  1. 【BZOJ1801】【AHOI2009】中国象棋(动态规划)

    [BZOJ1801][AHOI2009]中国象棋(动态规划) 题面 题目描述 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个 ...

  2. [Luogu2444][POI2000]病毒

    Luogu sol 如果存在一个合法的无限长的串,那势必说明在\(AC\)自动机上存在一个合法的环.由此转化为判环,只要判断搜到的点是否已经在搜索栈中即可. code #include<cstd ...

  3. python操作excel常用的方法

    读操作模块安装 pip install xlrd 写操作模块安装 pip install xlwt xlrd读操作 1.打开excel xl = xlrd.open_workbook('test.xl ...

  4. Socket之心跳包实现思路

    由于最近要做一个客户端,但是要求有一个掉线检测的功能,下面让我们看看使用自定义的HeartBeat方式来检测客户端的连接情况. 心跳包的实现思路: 客户端连接上服务端后,在服务端会维护一个在线客户端列 ...

  5. Cesium剖面分析

  6. Path通过Selenium模拟浏览器抓取,Windows 64解决selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.方法

    1.下载geckodriver.exe: 下载地址:https://github.com/mozilla/geckodriver/releases请根据系统版本选择下载:(如Windows 64位系统 ...

  7. EOS 新增的 WebAssembly 解释器,是什么鬼?

    Daniel Larimer 在最近的博客中透露,EOS 新增了官方的 WebAssembly 解释器,用来解释执行 WebAssembly 智能合约,加上之前的编译执行,EOS 智能合约有了两种执行 ...

  8. 安装Accumulo——突破自己,就是成长

    前言 在我刚开始接触分布式集群的时候,是自己在几台虚拟机中手动安装的 Hadoop 和 Spark ,所以当时对 Hadoop 的配置有个简单的印象 ,但是后面发现了 Cloudera 和 Ambar ...

  9. Java中instanceof关键字的用法

    Java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. instanc ...

  10. WPF 16进制byte输入框

    在WPF中,针对byte类型的输入控件可以选用 XCEED 的免费库中的 Xceed.Wpf.Toolkit.ByteUpDown(可从nuget获取). 若要使该控件在界面上以16进制显示byte, ...