Hibernate之Hibernate的下载与安装

摘要:
Hibernate非常简单。当我们将Hibernate框架引入Java项目时,我们可以以面向对象的方式操作关系数据库。项目:此路径存储各种Hibernate相关项目的源代码。因为Hibernate底层仍然基于JDBC,所以当使用Hibernat在应用程序中执行持久性时,必须需要相应数据库的JDBC驱动程序包。Hibernate是一种低侵入性设计。它完全使用普通JavaBean对象作为持久对象。Hibernate配置文件的默认文件名为Hibernate。cfg Xml。当程序调用Configuration对象的configure()方法时,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 classNewsManager
2 {
3      public static voidmain(String[] args)
4 {
5             Configuration conf = newConfiguration().configure();
6             SessionFactory  sf =conf.buildSessionFactory();
7             Session  sess =sf.openSession();
8             Transaction   tran =sess.beginTransaction();
9             
10             News  new = newNews();
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 classNews 
2 {
3        privateInteger  id;
4        privateString  title;
5        privateString  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异常,从而不必显示捕捉或者抛出,保证了代码的简洁性。

免责声明:文章转载自《Hibernate之Hibernate的下载与安装》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vim中.swp文件处理使用纯注解与配置类开发springMVC项目,去掉xml配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

数据库分库分表的类型和特点

从维度来说分成两种,一种是垂直,一种是水平。垂直切分:基于表或字段划分,表结构不同。我们有单库的分表,也有多库的分库。水平切分:基于数据划分,表结构相同,数据不同,也有同库的水平切分和多库的切分。   1.1 垂直切分 垂直分表有两种,一种是单库的,一种是多库的。 1.1.1 单库垂直分表 单库分表,比如:商户信息表,拆分成基本信息表,联系方式表,结算信...

使用Flyway来管理数据库版本

使用Flyway来管理数据库版本 Flyway是什么 Flyway是一款数据库迁移(migration)工具。 它可以帮助我们在不同环境保持数据库的同步,减少手工操作,避免数据导入的顺序错误,同时也减少了遗漏的机会。 flyway可以集成在项目中,可以与Spring 框结合。在项目发版时,自动执行数据库脚本,无需人为执行数据库同步操作。 就目前而言,我们部...

Python3 连接各类数据库

Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。它定义了一系列必须的对象和数据库存取方式, 以便为各种各样的底层数据库系统和多种多样的数据库接口程序提供一致的访问接口 。Python 数据库接口支持非常多的数据库,MySQL 、 PostgreSQL、Microsoft SQL Se...

thinkphp3.2链接数据库常用的配置选项

thinkphp3.2常用配置选项,app/Common/Conf/config.php 或者 app/Home/Conf/config.php 1 2 3 4 5 6 7 8 'SHOW_PAGE_TRACE'=>true; //开启右下角的调试信息小图标,调试时使用 'DB_TYPE'=>'mysql', //数据库类型...

JSTL 标签库详细介绍资料

前言从jsp 1.1规范开始,jsp就支持在jsp中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了jstl(javaserver pages standard tag library)的诞生。因为工作中需要用到jstl,但网上却苦于找不到有关jstl的中文资料,所以就有了这篇文章。jstl简介jstl是一个不断完善的开放源代码的j...

linq的decimal类型保存到数据库只保存到小数点后两位的问题

今天的一个decimal类型保存到数据的问题困扰了我很长时间,最后就是一个小小的设置问题解决······坑······深坑···· 话不多说,直接说问题,在说答案: 问题:linq当采用EF的DbContext保存decimal类型数据到数据库,默认只会保存小数点后的前2位小数,其余均置0;         例如保存1.23456789,实际存到数据库里的...