Java -- 在Eclipse上使用Hibernate

    最近一个项目要用Java做,一点都不熟啊。没办法,只好硬着头皮啃了,花了大半天的时间,终于在Eclipse上完成了第一个Hibernate例子。下面记录关键的步骤,权作笔记,以备日后查看。

 (1)下载Hibernate,并向项目中导入Hibernate。
     Project->Properies->Java Build Path->Libraries->Add External JARs...,选择Hibernate根目录下的hibernate3.jar,添加到项目中。
    接着,要将Hibernate下的lib文件夹下的所有文件都作为一个User Library添加到项目中,否则,如果仅仅添加hibernate3.jar,编译可以通过,运行却会抛出ClassNotDef的异常,因为hibernate3.jar依赖于Hibernate下的lib文件夹下的文件。

 2)我们的应用的后台数据库使用的是Oracle,所以首先要在例子项目中引入含有Oracle jdbc driver的包,classes12.jar。该jar文件位于oracle安装目录的jdbc\lib目录下。
    在Eclipse中,Project->Properies->Java Build Path->Libraries->Add External JARs...,选择classes12.jar,将其添加到项目中。
    
(3)生成hibernate.cfg.xml文件。
    通常Hibernate的配置文件和.hbm.xml文件都可以自动生成,这种自动生成的工具很多,我使用的是HibernateSynchronizer,它可以作为一个插件添加到Eclipse中。当HibernateSynchronizer插件正确加载后,我们可以向当前项目中添加Hibernate配置文件:File->New->Other->Hibernate->Hibernate Configuration File,出现如下界面:

  注意,Driver Class要选择针对Oracle的oracle.jdbc.driver.OracleDriver,而且Database URL的格式也要正确,如:

jdbc:oracle:thin:@10.8.8.221:1521:ORCL

    最好将hibernate.cfg.xml文件存放于项目的根目录下。

 4)生成.hbm.xml文件。File->New->Other->Hibernate->Hibernate Mapping File,出现如下界面:

     
    在填写完Password后,点击Refresh按钮,就会在Tables中列出所有可以访问的数据库表,然后选中要为其生成.hbm.xml文件的表,点击Finish,即会生成对应的.hbm.xml文件,比如我上面选择的是Mobileuser表,就会生成Mobileuser.hbm.xml文件。

(5)从.hbm.xml文件自动生成实体类。
    在Package Explorer中选中Mobileuser.hbm.xml文件,右键->Hibernate Synchronizer->Synchronize Files ,即可生成对应的实体类和DAO类。如果你仅仅想要实体类,那么可以在Project->Properies->Hibernate Synchronizer->Data Access Objects ,将“I would like to have DAOs created for me”的钩选项去掉即可。

(6)在hibernate.cfg.xml文件中添加对应的mapping resource。
    在Package Explorer中选中Mobileuser.hbm.xml文件,右键->Hibernate Synchronizer->Add Mapping Reference,即会在
hibernate.cfg.xml中自动生成如下配置:

<mapping resource="HibernateTest/Mobileuser.hbm.xml" />

(7)修改自动生成的hibernate.cfg.xml文件。需要在hibernate.cfg.xml文件的首部添加:

<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

    比较繁琐的是,每次自动修改hibernate.cfg.xml文件后,都要重新添加这个xml片断。

    万事具备,现在可以写个测试来检验一下了:

    //仅仅作为示例,没有进行异常处理
    public static void main(String[] args)
    {
        Configuration cfg = new Configuration().configure() ;        
        SessionFactory  sFactory = cfg.buildSessionFactory() ;        
        
        Session session = sFactory.openSession() ;
        Transaction tx = session.beginTransaction();
        Mobileuser user = (Mobileuser)session.load(Mobileuser.class , new Integer(2)) ;
        String age = user.getMobilenumber() ;
        
        System.out.println(age) ;
        tx.commit();
        session.close() ;
    }

    

   

 

时间: 2024-09-19 04:56:26

Java -- 在Eclipse上使用Hibernate的相关文章

java在eclipse上能连接sql2012数据库,为什么打包成jar后就不行了?

问题描述 java在eclipse上能连接sql2012数据库,为什么打包成jar后就不行了? java在eclipse上能连接sql2012,用Fat jar打包成jar后就不行了.为什么?之前没下载过什么sqljdbc.jar.sqljdbc4.jar的驱动也能连接的呀.最后在网上下载了驱动一同打包后还是没能连接成功.classpath什么的也不会配置.求教!已附上错误提示图 解决方案 打包的时候选择方式问题,把引用的包也要打包,你是用eclipse打包的吗?有三个选项,你得好好看看 解决方

eclipse上依据hibernate tools逆向生成PO(Domain Object)的过程

使用eclipse开发一个基于java的maven的web项目,业务逻辑基于spring实现,数据库服务器采用mysql.我们项目的业务逻辑(面向对象)和数据(关系型数据库)之间,依靠hibernate进行映射.对应.使用和处理.hibernate的核心功能之一,就是在面向对象和关系型数据库之间建立转化和映射,让程序员用面向对象的方式看待关系型数据库.(让数据库对程序员透明)开发过程中,为了保持二者的一致,需要进行Domain Object这种POJO的逆向生成.也就是依据mysql数据库中数据

Java -- 在Eclipse上使用Spring

    在.NET上用的VS.NET+Spring.net+Nhibernate,到了Java平台上,自然对应着Eclipse+Spring+Hibernate.上一篇文章介绍了如何在Eclipse上使用Hibernate的入门,本文就简单介绍一下如何在Eclipse使用Spring.     (1)首先,是下载Spring,可以从sourceforge上下载,http://sourceforge.net/projects/springframework.目前的最新的可以下载 spring-fr

eclipse上搭建maven多模块Java Web项目

1.模块化需求及项目模块说明 手头上有个已上线的系统,但因老板的特殊要求,系统需要不断的修改.还有就是公司市场部不定期地在举行一些微信活动,每一个活动都是周期性的,活动完了这个功能就要在系统中移除. 系统中就有三种模块:已经在系统中正常运行不需要再变更的模块.经常性变更的模块.用完就要移除的活动模块. 所以,我们需要把项目分成了下面几个模块. 简单说明一下: timetable-common是常用工具包存放的模块. wechat-api是微信接口模块,此模块用到了timetable-common

jdk-怎么在eclipse上运行java的demo和sample

问题描述 怎么在eclipse上运行java的demo和sample 在下载java的时候,发现oracle还提供了sample和demo供大家学习.但是在eclipse上,发现可以成功的创建并运行新的hello world之类的程序,却不可以run demo 或者samle的内容.(主要是import demo or sample时,只有.java的文件可以打开,而不是完整的import了一个project) 目前我的demo名字叫做jdk-8u60-windows-x64-demos,其中一

css 、js-网页上的java代码格式像eclipse上输出

问题描述 网页上的java代码格式像eclipse上输出 就是要做到这种效果,是怎么实现的? 解决方案 用〈pre〉标签..... 解决方案二: 看过页面的源码了,直接用 标签就可以吗 解决方案三: 看过页面的源码了,直接用 标签就可以吗

在Eclipse中使用Hibernate插件

最近,我开始使用Eclipse作为我的开发环境.这部分是由于它支持我开发时所使用的许多平台,部分是由于Eclipse是开放的可扩展环境的杰出代表,大家都可以为它的发展贡献自己的力量.我正开始调查人们已经提出的一些扩展.例如,我使用了一个叫做XMLBuddy的小插件来处理XML文件,它很有用.所以,我开始好奇是否有人已经编写了使用Hibernate的插件,最近在编写Developer's Notebook一书时,我做了大量这方面的工作.结果我了解到,这方面确实有一些工作正在进行,本文将探讨其中之一

Eclipse快速上手Hibernate之入门实例

这篇文章主要谈谈Hibernate的入门开发,例子很简单,就是向数据表中添加用户名和密码.我分别使用了三种方法,一种是直接写代码,写Hbm映射文件等:一种是通过Hbm映射文件来生成代码:一种是通过代码来生成Hbm映射文件.使用了一些自动化工具,XMLBuddy是用来编辑XML文件的,JBoss Eclipse IDE是用来编写Doclet标记的.这篇文章还谈到了一些Eclipse的使用技巧,比如建立"用户库"."生成 Getter 和 Setter"等. 关于一些软

在Eclipse上搭建Nokia手机的J2ME开发环境

在Eclipse上搭建Nokia手机的J2ME开发环境 安装红外适配器 Nokia6220提供多种与PC机连接通讯的方式:数据线和红外传输.我用的台式PC上是不带红外接收头的,所以得先去赛格电脑市场买一个红外适配器(IR Adapter). 由于之前没玩过这玩意,经过左挑右选,花30元买回一个样子小小的(类似U盘),外壳透明的红外适配器.哪知回来一装,传输速率才9600, 便宜没好货啊.速度慢且不说,用了两天就再也连不上了.无赖之下,又去赛格加了15元换了一个样子丑丑的适配器. 安装Nokia