网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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程序性能调优的基本知识和JD.
.使用java.util.Calendar返回间隔.
.使用Java制作多点发送程序.
.汉字问题深入谈.
.我的O/R MAPPING (HIB.
.让第一个jdo的应用跑起来.
.JDBC示例.
.WEB开发中Spring AOP实际应.
.类和对象的兼容性.
.用ChoiceFormat将数字与字符串联.
.Java列表对象的性能分析和测试.
.Java的“多重继承”.
.java通过jacob调用word.
.@if 语句.
.Is it a problem on Regex or St.
.Java开发中关于Hibernate对多表关.
.一些新手老手都需要的东西.
.手把手教您JbuliderX+Tomcat5.0的.
.彻底明白 Java 语言中的IO系统.
.XMLHTTP---介绍.

实用教程:使用Hibernate处理数据

发表日期:2008-1-5


  对象-关系映射(O/R映射)是许多软件开发项目的常见需求。数据持久化过程中所涉及到的活动是非常乏味且易于出错的。假如考虑到不可避免的需求变化,我们就面临很大的麻烦:数据存储结构必须与源代码保持同步。再加上移植性问题,事情就变得非常复杂。

  而Hibernate可以帮助我们轻松地在永久性存储介质中保存数据,而不需要在选择存储、安装或配置类型方面浪费太多精力。Hibernate答应我们存储任何类型的对象,因此,应用程序不需要知道其数据将使用Hibernate进行持久化。当然,这里提到的任何事情都可以逆向应用:现在从存储器获取已经预备好的对象是很平常的事情。更新和删除数据也是如此。

开始之前

  在开始之前,您需要Hibernate的发行版,可以在Hibernate web站点(www.hibernate.org)上找到它。我们将使用2.0.3版本。对于数据库,我们将使用Hypersonic SQL 1.7.1版本,它可以在hsqldb.sourceforge.net上找到。 Hibernate还支持许多开源或商业数据库,例如mysql、PostgreSQL、Oracle、DB2等。对于受支持的任何数据库,安装这个教程都很简单。完整列表参见官方文档。

  注重:假如您不希望类被持久化在数据库中(比如说,您只希望进行串行化),那么Hibernate API为您提供了net.sf.hibernate.persister.EntityPersister类和net.sf.hibernate.persister.ClassPersister接口。通过编写子类或实现它们,您可以编写自己的持久化类,并根据需要使用它们。

   下载了所有必需的安装包后,我们必须设置测试环境。基本上,我们所需做的就是把下载的.jar文件放到CLASSPATH中。这包括Hibernate发行版中的hibernate2.jar和Hypersonic的lib/ 目录下的hsqldb.jar。Hibernate还需要其他的几个库,这些库都可以在<hibernate-dist>/lib目录中找到。并不是该目录下的所有.jars文件都需要,但是假如您使用所有文件,也没有什么坏处。在我们开始研究Hibernate之前,我们将首先定义我们的问题域。

   注重:Hibernate使用Apache的commons-logging。它是一个智能工具,假如找到log4j,它就会默认地使用它。Log4j是一个出色的日志记录库,我们将在这个教程中使用它。假如您还没有这个软件(您真的应该安装这个软件!),可以从Log4j homepage下载,并将它添加到CLASSPATH中。使用Hibernate团队所提供的示例log4j.properties,它可以在<hibernate-dist>/src目录下找到。

问题引入

  每个开发人员都至少执行过一次类似的任务:创建一个订单,把一些产品放在其中,它就变成订单项,然后保存该订单。
我们使用这些简单的SQL命令来设置数据库:
CREATE TABLE ORDERS(
        ID VARCHAR NOT NULL PRIMARY KEY,
        ORDER_DATE TIMESTAMP NOT NULL,
        PRICE_TOTAL DOUBLE NOT NULL)

CREATE TABLE PRODUCTS(
        ID VARCHAR NOT NULL PRIMARY KEY,
        NAME VARCHAR NOT NULL,
        PRICE DOUBLE NOT NULL,
        AMOUNT INTEGER NOT NULL)

CREATE TABLE ORDER_ITEMS(
        ID VARCHAR NOT NULL PRIMARY KEY,
        ORDER_ID VARCHAR NOT NULL,
        PRODUCT_ID VARCHAR NOT NULL,
        AMOUNT INTEGER NOT NULL,
        PRICE DOUBLE NOT NULL)

  这个数据模型非常简单。对于一个实际的“生产质量”数据模型,我们会需要外键、索引、额外的字段等等。对于本教程,上面的数据模型就可以了。

   注重:假如您决定为这个教程使用HypersonicSQL,那么可以使用本文附件源软件包中提供的orders.script和orders.properties文件。


上一篇:read-atleap-Hibernate部分分析2-CreateNews 人气:604
下一篇:在JSE环境使用Hibernate EntityManger 人气:580
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐