预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Hibernate原理与配置快速入门 Hibernate 原理与配置快速入门 作者:罗小虎 来自:天极网 Hibernate原理与配置快速入门 在本文中,我向大家重点介绍Hibernate的核心API调用库,并讲解一下它的基本配置。 也许你听说过Hibernate的大名,但可能一直不了解它,也许你一直渴望使用它进行开发,那 么本文正是你所需要的!在本文中,我向大家重点介绍Hibernate的核心API调用库,并讲解一下 它的基本配置。 看完本文后,我相信你对什么是ORM(对像/关系映射)以及它的优点会有一个深刻的认识, 我们先通过一个简单的例子开始来展现它的威力。 正如一些传统的经典计算机文章大都会通过一个“hello,world”的例子开始讲解一样,我们也 不例外,我们也将从一个相对简单的例子来阐述Hibernate的开发方法,但如果要真正阐述Hibernate 的一些重要思想,仅仅靠在屏幕上打印一些字符是远远不够的,在我们的示例程序中,我们将创建 一些对象,并将其保存在数据库中,然后对它们进行更新和查询。 阅读导航 “Helloworld”示例程序让您对Hibernate有一个简单的认 “HelloWorld” 识 理解Hibernate的架构介绍Hibernate接口的主要功能。 Hibernate有5个核心接口,通过这几个接口开发人员可 核心接口 以存储和获得持久对象,并且能够进行事务控制 Type是Hibernate发明者发明的一个术语,它在整个构架 一个重要的术语:Type中是一个非常基础、有着强大功能的元素,一个Type对 象能将一个Java类型映射到数据库中一个表的字段中去。 Hibernate与某些其它开源软件不同的还有一点――高度 策略接口 的可扩展性,这通过它的内置策略机制来实现。 Hibernate可以配置成可在任何Java环境中运行,一般说 基础配置来,它通常被用在2-3层的C/S模式的项目中,并被部 署在服务端。 要创建一个SessionFactory对象,必须在Hibernate初始 创建一个SessionFactory对 化时创建一个Configuration类的实例,并将已写好的映 象 射文件交由它处理。 Hibernate原理与配置快速入门 “HelloWorld” Hibernate应用程序定义了一些持久类,并且定义了这些类与数据库表格的映射关系。在我们这 个“Helloworld”示例程序中包含了一个类和一个映射文件。让我们看看这个简单的持久类包含有 一些什么?映射文件是怎样定义的?另外,我们该怎样用Hibernate来操作这个持久类。 我们这个简单示例程序的目的是将一些持久类存储在数据库中,然后从数据库取出来,并将其 信息正文显示给用户。其中Message正是一个简单的持久类:,它包含我们要显示的信息,其源代 码如下: 列表1Message.Java一个简单的持久类 packagehello; publicclassMessage{ privateLongid; privateStringtext; privateMessagenextMessage; privateMessage(){} publicMessage(Stringtext){ this.text=text; } publicLonggetId(){ returnid; } privatevoidsetId(Longid){ this.id=id; } publicStringgetText(){ returntext; } publicvoidsetText(Stringtext){ this.text=text; } publicMessagegetNextMessage(){ returnnextMessage; } publicvoidsetNextMessage(MessagenextMessage){ this.nextMessage=nextMessage; } } Hibernate原理与配置快速入门 Message类有三个属性:Message的id、消息正文、以及一个指向下一条消息的指针。其中 id属性让我们的应用程序能够唯一的识别这条消息,通常它等同于数据库中的主键,如果多个 Message类的实例对象拥有相同的id,那它们代表数据库某个表的同一个记录。在这里我们选择了 长整型作为我们的id值,但这不是必需的。Hibernate允许我们使用任意的类型来作为对象的id值, 在后面我们会对此作详细描述。 你可能注意到Message类的代码类似