Hibernate之Hibernate的下载与安装

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会自动加载该文件。

持久化操作代码:

 1 public class  NewsManager
 2 {
 3      public static void main(String[] args)
 4     {
 5             Configuration conf = new Configuration().configure();
 6             SessionFactory  sf = conf.buildSessionFactory();
 7             Session  sess = sf.openSession();
 8             Transaction   tran = sess.beginTransaction();
 9             
10             News  new = new  News();
11             new.setTitle("Hibernate");
12             new.setContent("First  Hibernate  Demo");
13             
14             sess.save(new);
15             tran.commit();
16             sess.close();
17             sf.close();
18   
19      }
20 }

 持久化类:

 1 public class  News 
 2 {
 3        private  Integer  id;
 4        private  String  title;
 5        private  String  content;
 6        //id属性的setter和getter方法
 7      .....
 8        //title属性的setter和getter方法
 9      ......
10        //content属性的setter和getter方法
11      ......
12  
13 }

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

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异常,从而不必显示捕捉或者抛出,保证了代码的简洁性。

原文地址:https://www.cnblogs.com/wangliyue/p/4131224.html