中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 综合文章
用eclipse+Hibernate Synchronizer(plugin)开发例子(原创)
作者:未知 时间:2005-07-27 22:32 出处:CSDN 责编:chinaitpower
              摘要:用eclipse+Hibernate Synchronizer(plugin)开发例子(原创)

1. 开发环境准备

       Eclipse3.0.1

       下载:http://www.eclipse.org/

Eclipse Plugin:Hibernate Synchronizer

下载:http://sourceforge.net/project/showfiles.php?group_id=99370

       Hibernate-2.1.8

       下载:http://internap.dl.sourceforge.net/sourceforge/hibernate/hibernate-2.1.8.zip

       MyS       QL 4.1

       下载:http://www.mysql.com

2.演示一个简单例子

2.1mysql数据库中的test数据库下创建表内容表Content,脚本如下:

CREATE TABLE Content (

FID int(11) NOT NULL auto_increment,

FTitle varchar(100) NOT NULL default '',

FContent Text ,

PRIMARY KEY  (FID)

);

 

 

 

 

 

2.2检测Hibernate插件是否安装成功,进入菜单”window”下的”Preferences”,就有如下图所示的:

 

 

 

 

 

2.3eclipse创建一个JAVA项目,如下所示:

 

 

 

 

 

选“Next>”一直到完成。

有一点要注意的是,创建完项目后,还要将Hibernate库及mysql驱动加入到项目的Libraries中。

2.4加入Hibernate配置文件“hibernate.cfg.xml

选择该项目,点右键,“Newà Other”进入如下界面,

选择“Hibernate Configuration Fileà “Next”

选择数据库类型、Database URLUsernamePasswordOK, 文件“hibernate.cfg.xml”系统自动生成。

2.5加入“*.hbm”配置文件

同样是,选择该项目,点右键,“Newà Other”进入,不过这次要选择的是“Hibernate Mapping File”,点“Next”进入如下界面

注意,如果数据库有密码,则要先要输入密码再点“Refresh”按钮,数据中的表就会显示在Tables框中。选择一个表,如content后,点“Finish”按钮。

2.6根据content.hbm生成相关的JAVA代码,选择Content.hbm右键,操作如下界面:

2.7接一来简单地增加几行代码就可以了,进入系统生成的包DAO中,如例子中的“com.hibernate.example.dao,打开文件ContentDAO.java,代码修改如下:

0: /*
            

 

 1:  * 创建日期 2004-12-10
            

 

 2:  * @author Oscar Lao
            

 

 3:  * CopyRight 2005 S.W.S
            

 

 4:  */
            

 

 5:
            

 

 6: package com.hibernate.example.dao;
            

 

 7:
            

 

 8: import org.apache.log4j.Logger;
            

 

 9:
            

 

10: import com.hibernate.example.Content;
            

 

11: import com.hibernate.example.base.BaseContentDAO;
            

 

12:
            

 

13: /**
            

 

14:  * @author Oscar Lao
            

 

15:  * QQ:63065068
            

 

16:  * Email:e-silver@163.com
            

 

17:  * ClassDesc:Hibernate Example
            

 

18:  **/
            

 

19: public class ContentDAO extends BaseContentDAO {
            

 

20:     private static final Logger logger = Logger.getLogger(ContentDAO.class);
            

 

21:
            

 

22:     public static void main(String[] args){
            

 

23:         if (logger.isDebugEnabled()) {
            

 

24:             logger.debug("程序正在运行...");
            

 

25:         }
            

 

26:
            

 

27:         try {
            

 

28:             _RootDAO.initialize();
            

 

29:             
            

 

30:             ContentDAO cond = new ContentDAO();            
            

 

31:             Content cont = new Content();
            

 

32:             for (int i = 1; i < 100; i++) {
            

 

33:                 cont.setFid(new Integer(i));
            

 

34:                 cont.setFTitle("Title"+i);
            

 

35:                 cont.setFContent("Content"+i);
            

 

36:                 cond.save(cont);
            

 

37:            }
            

 

38:         } catch (Exception e) {
            

 

39:             logger.error("运行时出现异常...", e);
            

 

40:         }
            

 

41:
            

 

42:         if (logger.isDebugEnabled()) {
            

 

43:             logger.debug("运行完毕。");
            

 

44:         }
            

 

45:     }
            

 

46: }

 

 

 

 

 

3.欣赏成果

如果所有的配置正确,ContentDAO类应该可以运行了,运行后,程序会向表Content插入100条记录。祝你好运!!

 

 

 

 

4.在我测试时出现如下错误,现在也贴出来,希望对大家有所帮助:

 

 

 

 

4.1如果运行时出现如下异常

 

 

 

 

Could not find UserTransaction in JNDI javax.naming.NoInitialContextException:

 

 

 

 

解决:把配置文件“hibernate.cfg.xml”中的

 

 

 

 

  <property name="hibernate.transaction.factory_class">

 

 

 

 

           net.sf.hibernate.transaction.JTATransactionFactory

 

 

 

 

       </property>

 

 

 

 

       <property name="jta.UserTransaction">

 

 

 

 

           java:comp/UserTransaction

 

 

 

 

       </property>

 

 

 

 

 两行设置JTA控制事务的属性注释掉就可以了,因为程序里还未使用JTA控制事务。

 

 

 

 

4.2 如果运行时出现如下异常

 

 

 

 

Error parsing XML: /hibernate.cfg.xml(33) The content of element type "session-factory" is incomplete, it must match "(property*,mapping+,(class-cache|collection-cache|jcs-class-cache|jcs-collection-cache)*)".

       解决:配置文件“hibernate.cfg.xml”中的<session-factory></session-factory>之间加

 

 

 

 

              <mapping resource="Content.hbm" />

 

 

 

 

      

 

 

 

 

 

 

 

 

 

第一次写关于Hibernate的文章,如有不对的地方,请批评指正。

 

 

 

 

最后,祝大家成功!!^_^

 

 

 

 


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有