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

  • 相关阅读:
    [ 原创 ] Java基础9--final throw throws finally的区别
    [ 原创 ] Java基础8--什么叫做重载
    [ 原创 ] Java基础7--Java反射机制主要提供了以下哪些功能?
    [ 转载 ] 什么是正则表达式的贪婪与非贪婪匹配
    [ 原创 ] Java基础6--构造函数和抽象类的性质
    [ 转载 ] Java中常用的设计模式
    [ 转载 ] 超详细:常用的设计模式汇总
    [ 转载 ] Java开发中的23种设计模式详解(转)
    [ 原创 ] Java基础5--abstract class和interface的区别
    MetaWeblog API
  • 原文地址:https://www.cnblogs.com/wangliyue/p/4131224.html
Copyright © 2011-2022 走看看