【程序编程相关:[Eclipse CON 2005摘录]】
也许你听说过hibernate的大名,但可能一直不了解它,也许你一直渴望使用它进行开发,那么本文正是你所需要的!在本文中,我向大家重点介绍hibernate的核心api调用库,并讲解一下它的基本配置. 看完本文后,我相信你对什么是orm(对像/关系映射)以及它的优点会有一个深刻的认识,我们先通过一个简单的例子开始来展现它的威力. 正如一些传统的经典计算机文章大都会通过一个“hello,world”的例子开始讲解一样,我们也不例外,我们也将从一个相对简单的例子来阐述hibernate的开发方法,但如果要真正阐述hibernate的一些重要思想,仅仅靠在屏幕上打印一些字符是远远不够的,在我们的示例程序中,我们将创建一些对象,并将其保存在数据库中,然后对它们进行更新与查询. 【推荐阅读:google里搜索电子书的一个好办法】
“hello world” hibernate应用程序定义了一些持久类,并且定义了这些类与数据库表格的映射关系.在我们这个“hello world”示例程序中包含了一个类与一个映射文件.让我们看看这个简单的持久类包含有一些什么?映射文件是怎样定义的?另外,我们该怎样用hibernate来操作这个持久类. 我们这个简单示例程序的目的是将一些持久类存储在数据库中,然后从数据库取出来,并将其信息正文显示给用户.其中message正是一个简单的持久类:,它包含我们要显示的信息,其源代码如下: 列表1 message.java 一个简单的持久类package hello;public class message { private long id; private string text; private message nextmessage; private message() {} public message(string text) { this.text = text; } public long getid() { return id; } private void setid(long id) { this.id = id; } public string gettext() { return text; } public void settext(string text) { this.text = text; } public message getnextmessage() { return nextmessage; } public void setnextmessage(message nextmessage) { this.nextmessage = nextmessage; }} message类有三个属性:message的id .消息正文.以及一个指向下一条消息的指针.其中id属性让我们的应用程序能够唯一的识别这条消息,通常它等同于数据库中的主键,如果多个message类的实例对象拥有相同的id,那它们代表数据库某个表的同一个记录.在这里我们选择了长整型作为我们的id值,但这不是必需的.hibernate允许我们使用任意的类型来作为对象的id值,在后面我们会对此作详细描述. 你可能注意到message类的代码类似于javabean的代码风格,并且它有一个没有参数的构造函数,在我们以后的代码中我将继续使用这种风格来编写持久类的代码.... 下一页