网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Java程序的脏数据问题.
.Java混淆器RetroGuard的使用方法.
.小议如何在Applet 中显示图象.
.利用javabean轻松实现对数据库的.
.找回丢失的源代码.
.Java模拟.NET的连接池.
.端口扫描程序java实现.
.Mark Spritzler的SCJD学习指导!.
.使用JDBC创建数据库对象(2).
.Java常用的加密 解密 数字签名等.
.使用JWSDP完成Web Service在java.
.java 基础入门 pom.xml 元素描述.
.J2EE编程起步(3).
.XP下JDK1.4安装与环境配置完全图.
.体验 JAVA 5 的新.
.JAVA 的多线程浅析.
.FileSystemObject 对象.
.JDBC 概述(七).
.用SQLJ开发数据库(3).
.Hibernate中的Middlegen入门指南.

Hibernate 的原理与配置快速入门

发表日期:2008-1-5


Hibernate 的原理与配置快速入门(图一)  也许你听说过Hibernate的大名,但可能一直不了解它,也许你一直渴望使用它进行开发,那么本文正是你所需要的!在本文中,我向大家重点介绍Hibernate的核心API调用库,并讲解一下它的基本配置。

  看完本文后,我相信你对什么是ORM(对像/关系映射)以及它的优点会有一个深刻的熟悉,我们先通过一个简单的例子开始来展现它的威力。

  正如一些传统的经典计算机文章大都会通过一个“hello,world”的例子开始讲解一样,我们也不例外,我们也将从一个相对简单的例子来阐述Hibernate的开发方法,但假如要真正阐述Hibernate的一些重要思想,仅仅靠在屏幕上打印一些字符是远远不够的,在我们的示例程序中,我们将创建一些对象,并将其保存在数据库中,然后对它们进行更新和查询。

阅读导航
“Hello World” “Hello world”示例程序让您对Hibernate有一个简单的熟悉 理解Hibernate的架构 介绍Hibernate接口的主要功能。 核心接口 Hibernate有5个核心接口,通过这几个接口开发人员可以存储和获得持久对象,并且能够进行事务控制 一个重要的术语:Type Type是Hibernate发明者发明的一个术语,它在整个构架中是一个非常基础、有着强大功能的元素,一个Type对象能将一个Java类型映射到数据库中一个表的字段中去。 策略接口 Hibernate与某些其它开源软件不同的还有一点――高度的可扩展性,这通过它的内置策略机制来实现。 基础配置 Hibernate可以配置成可在任何Java环境中运行,一般说来,它通常被用在2-3层的C/S模式的项目中,并被部署在服务端。 创建一个SessionFactory对象 要创建一个SessionFactory对象,必须在Hibernate初始化时创建一个Configuration类的实例,并将已写好的映射文件交由它处理。
“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的代码风格,并且它有一个没有参数的构造函数,在我们以后的代码中我将继续使用这种风格来编写持久类的代码。

  Hibernate会自动治理Message类的实例,并通过内部机制使其持久化,但实际上Message对象并没有实现任何关于Hibernate的类或接口,因此我们也可以将它作为一个普通的Java类来使用:

Message message = new Message("Hello World");
System.out.println( message.getText() );
  以上这段代码正是我们所期望的结果:它打印“hello world”到屏幕上。但这并不是我们的最终目标;实际上Hibernate与诸如EJB容器这样的环境在持久层实现的方式上有很大的不同。我们的持久类(Message类)可以用在与容器无关的环境中,不像EJB必须要有EJB容器才能执行。为了能更清楚地表现这点,以下代码将我们的一个新消息保存到数据库中去:


上一篇:Java调试教程----序 人气:832
下一篇:X3D实战基础讲座之四 人气:634
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐