[网上课堂]编写你的第一个Hibernate程序(1)

中华网教育 http://kaoshi.china.com 2006-08-02 13:03:12
进入BBS】【进入聊天室】【 推荐给朋友 】【浏览字号: 】【关闭窗口

  
   一、 Hibernate介绍

   Hibernate是基于对象/关系映射(ORM,Object/Relational Mapping)的一个解决方案。ORM方案的思想是将对象模型表示的对象映射到关系型数据库中,或者反之。Hibernate目前是ORM思想在Java中最成功、最强大的实现。它于2001年的年末发布第一个版本,立即引起了广泛的注意。2003年6月,Hibernate2发表,并且获得Jolt大奖,进而被JBoss吸纳成为它的一个子项目。2005年3月,Hibernate 3发表,其中做了一些比较重大的改进。本文以Hibernate3为基础编写。

   另外,Hibernate除了可以在J2EE容器中运行外,还可以运行在Java应用程序中。本文就是以Java应用程序为例来介绍它。

   二、配置开发环境

   本文以一个Java应用程序(Java Application)为例,介绍如何使用Hibernate来进行数据库操作。

   在进行Hibernate开发之前,需要首先获得Hibernate类库、相应数据库的JDBC驱动类库。Hibernate类库可以从http://www.hibernate.org中下载,目前的版本是3.0。而JDBC驱动可以根据不同的数据库来选择,在这个例子中,使用的是Oracle数据库,那么相应的JDBC驱动可以从Oracle安装目录ora92jdbc下获得。其他的数据库请根据相关的说明获得。

   下载Hibernate包后,可以将它解压到一个文件夹,此处假设为C:hibernate-3.0,然后将C:hibernate-3.0下的hibernate.jar和C:hibernate-3.0lib下的那些第三方类库也放到环境变量CLASSPATH中。(通常,只需要dom4j、cglig、commons-logging、commons-collections、log4j、ehcache、asm、jta、antlr这些类库就可以了)

   做完这些配置后,就可以在此基础上进行基于Hibernate的Java程序开发了。
  三、开发基于Hibernate的应用

   现在假设我们在Oracle数据库中创建了一个表Student,它的字段如下表所示:
  字段 说明
  Student_ID 学员编号,整型,PK,自动增长
  Student_Name 学员姓名,字符串类型
  Student_Age 学员年龄,整型
  如果我们在Oracle中定义这个数据库表,我们可以定义一个创建数据库表的SQL脚本如下:
  create table Student(
   Student_ID number(6) NOT NULL PRIMARY KEY,
   Student_Name varchar2(10) NOT NULL,
   Student_Age number(2) NOT NULL
  );

   另外,因为在Oracle中没有“自动增长”类型的字段,所以通常情况下我们需要定义一个sequence来作为自动增长类型字段的数据。在这里,我们也可以定义一个sequence来给Student_ID字段提供数据。创建sequence的SQL脚本如下:

  CREATE SEQUENCE student_sequence
  INCREMENT BY 1
  START WITH 1000
  NOMAXVALUE
  NOCYCLE
  CACHE 10;

   我们在这里创建了一个student_sequence,准备用来作为Student_ID字段的值。

   接着,我们需要一个hibernate.cfg.xml或者属性文件hibernate.properties来指定Hibernate所使用的数据库以及用户名、密码等其他相关的配置,我们在此使用xml文件,它的内容如下:

  源文件:hibernate.cfg.xml
     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
   "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  
  
  
   true
  
  org.hibernate.dialect.Oracle9Dialect
  

  
  
  oracle.jdbc.driver.OracleDriver
  

  
  
  jdbc:oracle:thin:@localhost:1521:nitpro
  

  
  system
  
   manager
  

  


   做完前面的这些准备工作后,下面就让我们进入激动人心的Hibernate编程吧!
   首先,我们需要定义一个用于表示“学生”对象的Student类:

  源文件:Student.java
  public class Student
  {
   private int student_id;
   private String student_name;
   private int student_age;
  
   public int getStudent_id()

首页 上页 | 1 | 2 | 下页 尾页  共 2

  
作者: 新东方  来源:  
发表言论:
笔  名:
查看评论
  ·相关报道
专家:中国IT培训市场正走向成熟 呈现四大特点 (2006-08-02 12:54:19)
IT企业:渴望职业评测标准 提高人才招聘效率 (2006-08-02 12:53:52)
网络工程师专业术语大集合之路由器 (2006-08-02 12:52:03)
NIT-Pro标准考试与企业测评考试区别对比表 (2006-08-02 12:45:08)
《全国计算机职业技能考试》程序介绍 (2006-08-02 12:42:41)
[复习推荐]JAVA软件工程师入学测试题 (2006-08-02 12:41:35)
有别于传统认证系统 NIT-Pro推出求职专门服务 (2006-08-02 12:39:25)
IT企业:渴望职业评测标准 提高人才招聘效率 (2006-07-28 15:42:06)
     频道精选
     中华网搜索
站内搜索
全网搜索
     精彩点击