论坛登陆 用户名:  密 码:
设为首页  加入收藏
08年北京名校秋季招生
名牌院校免试入学宽进严出,突破考分限制,名校与你零距离,以下院校按报名先后顺序录取,24小时网上报名覆盖全国
  您现在的位置: 中国教育招生在线 >> IT >> JAVA认证 >> IT正文
初学入门:教您如何快速开发Hibernate
 作者:佚名     2007-3-14 16:34:42        来源:不详  浏览次数:

 

 

 

 

 

 

 

 

下载并安装插件

Hibernate3

下载:http://hibernate.sourceforge.net

JBossIDE1.5M1

下载:http://sourceforge.net/projects/jboss/

HibernateSynchronizer3

下载:http://sourceforge.net/projects/hibernatesynch/

Mysql及JDBC开发包

下载:http://dev.mysql.com/downloads/

JBossIDE1.5M1 基于Eclipse的IDE开发工具,可以通过升级你的Eclipse插件进行升级,推荐直接下载JBossIDE。

HibernateSynchronizer Eclipse的Hibernate插件。可以生成Hibernate的配置文件和Java代码。不过是基于Hibernate2的。Hibernate2与Hibernate3 的Classs的包由原来的net.sf 移至 org 包内。所以HibernateSynchronizer 生成的Java代码和配置文件会有错误。不过可以通过对HibernateSynchronizer进行反编译,并进行修改,使之适应于Hibernate3。

第一个实例

一、前期准备

安装HibernateSynchronizer 插件,并在JBossIDE 透视图里配置好。

启动Mysql,建表Computer:

[table]
CREATE TABLE `computer` 
(
  `id` int(11) NOT NULL 
  auto_increment,
  `cpu` varchar(50) default NULL,
  `mainboard` varchar(50) default NULL,
  `displaycard` varchar(50) default NULL,
  `harddisk` varchar(50) default NULL,
  `display` varchar(50) default NULL,
  `memory` varchar(50) default NULL,
  `soundcard` varchar(50) default NULL,
  `cdrom` varchar(50) default NULL,
  `mouse` varchar(50) default NULL,
  `keyboard` varchar(50) default NULL,
  PRIMARY KEY  (`id`)
) ;
[/table]

二、新建项目

启动JBossIDE ,新建一个DemoHibernate 项目,导入Hibernate及Mysql 开发包。如图:

将Hiberante开发包里的log4j.properties 放至项目根目录下。

三、Hibernate 配置文件

1. 通过JBossIDE Hibernate插件,生成Hibernate.cfg.xml

[table]
<!DOCTYPE hibernate-configuration 
PUBLIC
    "-//Hibernate/Hibernate 
	Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net
	/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.
		connection.username">root</property>
        <property name="hibernate.dialect">
            org.hibernate.dialect.MySQLDialect
        </property>
        <property name="hibernate.connection.url">
            jdbc:mysql://localhost/hibernate
        </property>
        <property name="hibernate.
		connection.driver_class">
            org.gjt.mm.mysql.Driver
        </property>
    </session-factory>
</hibernate-configuration>
[/table]

2. 通过HibernateSynchronizer 生成Mapping文件

3. 将Mapping 文件 加入 Hiberante.cfg.xml文件

[table]
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD
	//EN"
    "http://hibernate.sourceforge.net
	/hibernate-mapping-3.0.dtd" >

<hibernate-mapping package=
"my.demo.hibernate">
    <class    name="Computer"
        table="computer"
    >
        <id
            name="Id"
            type="int"
            column="id"
        >
            <generator class="increment"/>
        </id>

        <property
            name="Cpu"
            column="cpu"
            type="string"
            not-null="false"
            length="50"
        />
        <property
            name="Mainboard"
            column="mainboard"
            type="string"
            not-null="false"
            length="50"
        />
        <property
            name="Displaycard"
            column="displaycard"
            type="string"
            not-null="false"
            length="50"
        />
        <property
            name="Harddisk"
            column="harddisk"
            type="string"
            not-null="false"
            length="50"
        />
        <property
            name="Display"
            column="display"
            type="string"
            not-null="false"
            length="50"
        />
        <property
            name="Memory"
            column="memory"
            type="string"
            not-null="false"
            length="50"
        />
        <property
            name="Soundcard"
            column="soundcard"
            type="string"
            not-null="false"
            length="50"
        />
        <property
            name="Cdrom"
            column="cdrom"
            type="string"
            not-null="false"
            length="50"
        />
        <property
            name="Mouse"
            column="mouse"
            type="string"
            not-null="false"
            length="50"
        />
        <property
            name="Keyboard"
            column="keyboard"
            type="string"
            not-null="false"
            length="50"
        />


    </class>    
</hibernate-mapping>
[/table]

生成的Computer.hbm,中 Id 字段为自增,需要将generator class=”VM”参数改为increment,将Mapping文件加入到Hibernate.cfg.xml中

可以看到Hibernate.cfg.xml中增加一行

[table]
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration 
	DTD 3.0//EN"
    "http://hibernate.sourceforge.net
	/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.
		connection.username">root</property>
        <property name="hibernate.dialect">
            org.hibernate.dialect.MySQLDialect
        </property>
        <property name="hibernate.connection.url">
            jdbc:mysql://localhost/hibernate
        </property>
        <property name="hibernate.
		connection.driver_class">
            org.gjt.mm.mysql.Driver
        </property>
        <mapping resource="conf/Computer.hbm" />
    </session-factory>
</hibernate-configuration>
[/table]

四、生成Java代码

通过HibernateSynchronizer 生成 Hibernate Java代码。

生成的代码结构如图:

五、编写代码

[table]
package my.demo.hibernate.Sample;

import org.apache.log4j.
PropertyConfigurator;
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
import my.demo.hibernate.Computer;

public class ComputerCreate
{

    /**
     * @param args
     */
    public static void
	main(String[] args)
	{
                
        PropertyConfigurator
		.configure("log4j.properties");
        Configuration cfg = 
		new Configuration();
        cfg.configure();
        SessionFactory sf = 
		cfg.buildSessionFactory();
        Session session = sf.openSession();
        Computer computer = new Computer();
        
        computer.setCpu("on(E) 2.4" );
        computer.setDisplay("LCD" );
        computer.setDisplaycard("intel" );
        computer.setHarddisk("60G" );
        computer.setMainboard("inter" );
        computer.setMemory("512M" );
        computer.setMemory("Agiller" );
        computer.setSoundcard("inter" );
        computer.setKeyboard("inter" );
        computer.setCdrom("cdrom" );
        
        session.save(computer);
        session.flush();
        
        try{
            session.connection().commit();
            session.close();
            System.out.println("success!!!!");
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
[/table]

总结

Hibernate 实现O/R Mapping,但配置文件编写非常麻烦,通过JBossIDE及HibernateSynchronizer可以快速的帮助我们构建代码,大大提高我们的工作效益。

(T117)


责任编辑:lss
  相关新闻
VB6.0初学者的10个编程小技巧
【新手入门】JSP中标签库的深入研究
新手入门:了解FTP服务与FTP协议(图)
初学者入门:Structs中基本配置入门
spring入门编程问题集锦
JDBCTM 指南:入门6 - PreparedStatement
初学者如何开发出高质量的J2EE系统
java新手入门:Java反射机制(下)
初学者如何开发出一个高质量的J2EE系统
JAVA高级:J2EE初学者需要理解的问题
VB6.0初学者的10个编程小技巧
【新手入门】JSP中标签库的深入研究
初学者入门:Structs中基本配置入门
spring入门编程问题集锦
Hibernate 入门(3)
数据库-Oracle数据库的入门级基本知识
基础入门-Java连接各种数据库的实例
JDBCTM 指南:入门7 - CallableStatement
JDBC 入门 -- 设置表
给初学者的一个数据库连接示例(含驱动和示例代码)-推荐
  评论
现在有100人对本文发表评论
查看所有评论
 
推  荐
 
100本成功必读热销书
热门招生
  北京文理研修学院   前进大学
  北京明园大学   北京建设大学
  北京邮电大学世纪学院   北方工商管理学院
  联想软件定向委培班   香港数码动画学院
  青年企业管理研修学院   北京华夏管理学院
热门培训
网络化办公专家培训认证 电子科技大学软件学院
软件测试工程师培训认证 北大青鸟十大授权培训
IT硬件工程师培训认证班 北京环球雅思荷兰预科
JAVA开发工程师培训 潜能时代IT服务管理培训
网络信息化工程师培训 清华大学继续教育学院
论坛精选
 
有些细节是男人也该注意的风度!最容易读错的字
某强人手机里保存的30条短信 中国十大高薪职业
最感人的十大韩剧经典台词 嫁给工程师的N个理由
爆强!只有一句话的鬼故事 转贴教你如何做妖精
 女人一定要記住的話 女人最好别嫁给最爱的男人
城市联盟
 大连 上海 天津 广州 西安 深圳  天津  青岛  大连  福州  沈阳  青海  连云港  南京  吉林  厦门  威海  辽宁  呼和浩特
Copyright © 2006   www.edu999.com   All rights reserved. 中国教育招生在线  版权所有
北京市通信管理局[2004]字第552号函    京ICP证040442号