首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 认证考试-> Macrmedia认证
Java开源项目Hibernate快速入门-JSP教程,Java技巧及代码
作者:网友供稿 点击:67
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
一个简单的例子。适合入门者参考。其实hibernate本身是个独立的框架,它不需要任何web server或application server的支持。然而,大多数的hibernate入门介绍都加入了很多非hibernate的东西,比如: tomcat, eclipse, log4j,struts, xdoclet, 甚至jboss。这容易让人产生hibernate复杂难懂的误解,特别是打击了初学者的积极性。

  在这篇文章将不涉及eclipse, log4j, struts, tomcat, xdoclet,和jboss。本文的目的是演示一下hibernate的安装过程以及最基本的功能,从而给初学者一个低得不能再低的入门门槛。

  下载文件

  你需要java sdk、 hibernate包、ant包、和jdbc driver。

  1、hibernate包下载地址:
http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc

  2、ant包下载地址:
http://apache.130th.net/ant/binaries/apache-ant-1.6.1-bin.zip

  3、jdbc driver要根据你用的database来定,一般database官方网站上都会有。hibernate支持常用的database,比如 mysql, oracle, postgresql, 和ms-sql server。这些数据库都有jdbc driver:

  oracle jdbc driver下载地址(下载前必须同意oracle协议书)
http://otn.oracle.com/software/htdocs/distlic.html?/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html

  mysql jdbc driver下载地址
http://dev.mysql.com/downloads/connector/j/3.0.html

  postgresql jdbc driver下载地址
http://jdbc.postgresql.org/download.html

  ms-sql server jdbc driver下载地址
http://www.microsoft.com/downloads/details.aspx?familyid=9f1874b6-f8e1-4bd6-947c-0fc5bf05bf71&displaylang=en

  4、将hibernate包和ant包分别解压至c:\dev\下(此目录不重要,你可以换其它任何目录)。

  配置环境

  1、你需要添加一个新的环境变量: ant_home,让它指向c:\dev\<你的ant包所在目录>。并在path环境变量里添加%ant_home%\bin。

  2、你需要添加一个新的环境变量: java_home,让它指向你的j2sdk根目录。并在path环境变量里添加%java_home%\bin。

  3、创建一个项目目录,比如c:\workspace\my1sthibernate。

  在项目目录下,另外创建三个目录: src, classes, lib。

  在lib目录下,创建两个目录: hibernate和db。

  这样你有了如下的文件结构:

c:\workspace\my1sthibernate\
c:\workspace\my1sthibernate\src
c:\workspace\my1sthibernate\classes
c:\workspace\my1sthibernate\lib
c:\workspace\my1sthibernate\lib\hibernate
c:\workspace\my1sthibernate\lib\db

  4、将c:\dev\<你的hibernate包所在目录>\hibernate2.jar文件copy到c:\workspace\my1sthibernate\lib\hibernate下。

  将c:\dev\<你的hibernate包所在目录>\lib\下的所有文件同样copy到c:\workspace\my1sthibernate\lib\hibernate下。

  将你的jdbc driver文件(一般是一个jar文件)copy到c:\workspace\my1sthibernate\lib\db下。

  创建数据库

  1、用你最喜爱的database软件,创建一个hibernate_test的数据库。

  2、在此数据库下,新建一个table名为customer

create table customer
(
 cid integer not null primary key, username varchar(12) not null, password varchar(12)
);

  编写java文件

public class customer {
 private int id;
 private string username;
 private string password;

 public int getid() {
  return id;
 }

 public string getpassword() {
  return password;
 }

 public string getusername() {
  return username;
 }

 public void setid(int id) {
  this.id = id;
 }

 public void setpassword(string password) {
  this.password = password;
 }

 public void setusername(string username) {
  this.username = username;
 }

}

  将此类存为c:\workspace\my1sthibernate\src\customer.java文件。

  编写test类

import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;

public class test {

 public static void main(string[] args) {
  try {
   sessionfactory sf = new configuration().configure().buildsessionfactory();
   session session = sf.opensession();
   transaction tx = session.begintransaction();

   for (int i = 0; i < 200; i++) {
    customer customer = new customer();
    customer.setusername("customer" + i);
    customer.setpassword("customer");
    session.save(customer);
   }

   tx.commit();
   session.close();
  } catch (hibernateexception e) {
   e.printstacktrace();
  }
 }
}

  将此类存为c:\workspace\my1sthibernate\src\test.java文件。

  创建hibernate映射文件

  因为这里只有一个class --- customer 和一个table --- customer,你只需要建立一个映射文件--- customer.hbm.xml,来对应customer类和customer表之间的关系。

<?xml version="1.0"?>
<!doctype hibernate-mapping public
"-//hibernate/hibernate mapping dtd//en"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

<hibernate-mapping>
<class name="customer" table="customer">
<id name="id" column="cid">
<generator class="increment" />
</id>
<property name="username" column="username" />
<property name="password" column="password" />
</class>
</hibernate-mapping>

  把此文件存为c:\workspace\my1sthibernate\src\customer.hbm.xml,和customer.java放在同一目录下。

  编写ant build.xml文件

  你不一定要知道这个build.xml的细节,其实ant也不是hibernate所必须的。这里用ant是为了简化一些任务,比如: 编译、copy、运行,等。

<?xml version="1.0" ?>

<project name="my1sthibernate" default="build" basedir=".">

<property name="base.dir" value="." />
<property name="src.dir" value="src" />
<property name="lib.dir" value="lib" />
<property name="build.dir" value="classes" />

<path id="myclasspath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
<pathelement location="${build.dir}" />
</path>

<target name="init">
<mkdir dir="${build.dir}" />
</target>

<target name="build" depends="init" description="compile the source files">
<javac classpathref="myclasspath" srcdir="${src.dir}" destdir="${build.dir}" />
<copy todir="${build.dir}" >
<fileset dir="${src.dir}" >
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>

<target name="run" depends="build">
<java classpathref="myclasspath" classname="test" fork="true" />
</target>

<target name="clean">
<delete includeemptydirs="true">
<fileset dir="${build.dir}" />
</delete>
</target>

</project>

  配置hibernate描述文件

  hibernate描述文件可以是一个properties或xml 文件,其中最重要的是定义数据库的连接。我这里列出的是一个xml格式的hibernate.cfg.xml描述文件。

<?xml version="1.0" encoding="utf-8" ?>
<!doctype hibernate-configuration
public "-//hibernate/hibernate configuration dtd//en"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">

<hibernate-configuration>

<session-factory name="java:/hibernate/hibernatefactory">

<property name="show_sql">true</property>
<property name="connection.driver_class">
oracle.jdbc.driver.oracledriver <!-- 这里是oracle 9i的jdbc driver class名 -->
</property>
<property name="connection.url">
jdbc:oracle:oci8:@hibernate_test <!-- 这里是oracle的hibernate_test数据库url -->
</property>
<property name="connection.username">
你的数据库用户名
</property>
<property name="connection.password">
你的数据库密码
</property>
<property name="dialect">
net.sf.hibernate.dialect.oracle9dialect <!-- 这里是oracle 9i的dialect -->
</property>

<mapping resource="customer.hbm.xml" /> <!-- 指定customer的映射文件 -->

</session-factory>

</hibernate-configuration>

  如果你用的不是oracle 9i,可到c:\dev\<你的hibernate包所在目录>\src\hibernate.properties文件里找到你的数据库,然后替换以上相对应的值。

  开始运行

  到c:\workspace\my1sthibernate下,运行ant run。如果你严格依照以上步骤,应该看到

run:
[java] log4j:warn no appenders could be found for logger (net.sf.hibernate.cfg.environment).
[java] log4j:warn please initialize the log4j system properly.
[java] hibernate: insert into customer (username, password, cid) values (?, ?, ?)
build successful

  到你的hibernate_test数据库看一下,在custmor表里新添了200条记录,但你没有写任何jdbc code。

  以后如果你要更换数据库,只需要改变hibernate.cfg.xml描述文件里相应的值即可。


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·C#中string与byte[]的转换帮助类-.NET教程,C#语言
·DataGrid与SQL Server 2000数据绑定-ASP教程,数据库相关
·asp服务器端的验证类-ASP教程,客户端相关
·如何以Char数组字符元素为标识,分割String字符并列示出来?-.NET教程,数据库应用
·ASP.NET GET 方式提交数据!-.NET教程,Asp.Net开发
·向记事本里写入数据、一个修改密码的判断方法-ASP教程,数据库相关
·RSA算法-.NET教程,评论及其它
·ASP.NET心得笔记-.NET教程,Asp.Net开发
·flash资格认证考试样题
·教你打造属于自己的绿色ppstream-.NET教程,评论及其它
最新文章
·windows vista中如何用闪存保护资料_windows vista
·fireworks绘制炫彩光影缠绕dna图案_fireworks教程
·google adsense 统计之我见_网赚技巧
·photoshop为宝宝照片调色_photoshop教程
·个人网站如何才能走出困境_站长心得
·个人站长十个害怕和担心的事情_站长心得
·关于优化及越度优化伤害_站长心得
·google广告的单价与点击-smart_google推广
·网编必备:搜索引擎优化的基本要素(1)_网络编辑
·alexa作弊的相关问答_alexa排名
相关主题
  • java开发员认证_java认证
  • Java开源项目Hibernate快速入门-JSP教程,Java基础
  • Java开源项目Hibernate快速入门-JSP教程,Java技巧及代码
  • java开源项目研究 3.许可协议介绍-JSP教程,Java技巧及代码
  • java开源项目研究 2. 开源的历史-JSP教程,Java技巧及代码
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭