用户操作
[即时聊天] [发私信] [加为好友]
我是我ID:zgqtxwd
364588次访问,排名147好友2人,关注者25
zgqtxwd的文章
原创 742 篇
翻译 0 篇
转载 13919 篇
评论 39 篇
zgqtxwd的公告

最近评论
sap99:www.sap99.com/,SAP99资料多多

SAP免费资料下载
http://www.sap99.com

有很多的学习资料,推荐一下,
fadsf:asdfdasdf
hujunxihed88:还是不清楚!
不错:很好
admin:不通
文章分类
收藏
    相册
    友情链接
    六六技术联盟
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    转载 [学习笔记]快速开发Hibernate收藏

    新一篇: Spring--内容与形式并重[2005.5] | 旧一篇: javascript的字符一个接一个打出来

      [学习笔记]快速开发Hibernate

      2005-06-13

      樊欢java及开源项目爱好者。

      Email:heydaymail@hotmail.com

      Blog:http://heyay.blogone.net

      2005-6-13

      引言

      关于学习Hibernate的意义,咱不用多说。

      下载并安装插件

      Hibernate3

      下载:Hibernate.sourceforge.net" />http://Hibernate.sourceforge.net

      JBossIDE1.5M1

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

      HibernateSynchronizer3

      下载:Hibernatesynch/" />http://sourceforge.net/projects/Hibernatesynch/

      Mysql及JDBC开发包

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

      JBossIDE1.5M1基于Eclipse的IDE开发工具,你可以通过升级你的Eclipse插件进行升级,不过我升级了很多次都不成功,经常升级到一半就毫无动静,白白浪费了很多时间,所以推荐直接下载JBossIDE。

      HibernateSynchronizerEclipse的Hibernate插件。可以生成Hibernate的配置文件和Java代码。不过是基于Hibernate2的。Hibernate2与Hibernate3的Classs的包由原来的net.sf移至org包内。所以HibernateSynchronizer生成的Java代码和配置文件会有错误。我通过对HibernateSynchronizer进行反编译,并进行修改,使之适应于Hibernate3,目前使用还未发现问题。要使用我修改后的版本,请与我通过Email(heydaymail@hotmail.com实在是找不到空间可放)联系。

      第一个实例

      一、前期准备

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

      启动Mysql,建表Computer:

      [table]

      CREATETABLE`computer`(

      `id`int(11)NOTNULLauto_increment,

      `cpu`varchar(50)defaultNULL,

      `mainboard`varchar(50)defaultNULL,

      `displaycard`varchar(50)defaultNULL,

      `harddisk`varchar(50)defaultNULL,

      `display`varchar(50)defaultNULL,

      `memory`varchar(50)defaultNULL,

      `soundcard`varchar(50)defaultNULL,

      `cdrom`varchar(50)defaultNULL,

      `mouse`varchar(50)defaultNULL,

      `keyboard`varchar(50)defaultNULL,

      PRIMARYKEY(`id`)

      );

      [/table]

      二、新建项目

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

     

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

      三、Hibernate配置文件

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

     

      [table]

      Hibernate-configurationPUBLIC

      "-//Hibernate/HibernateConfigurationDTD3.0//EN"

      "http://Hibernate.sourceforge.net/Hibernate-configuration-3.0.dtd">

      <Hibernate-configuration>

     

      Hibernate.connection.username">root

      Hibernate.dialect">

      org.Hibernate.dialect.MySQLDialect

     

      Hibernate.connection.url">

      jdbc:mysql://localhost/Hibernate

     

      Hibernate.connection.driver_class">

      org.gjt.mm.mysql.Driver

     

     

      Hibernate-configuration>

      [/table]

      2.通过HibernateSynchronizer生成Mapping文件

     

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

      [table]

     

      Hibernate-mappingPUBLIC

      "-//Hibernate/HibernateMappingDTD//EN"

      "http://Hibernate.sourceforge.net/Hibernate-mapping-3.0.dtd">

      <Hibernate-mappingpackage="my.demo.Hibernate">

     

      table="computer"

      >

     

      name="Id"

      type="int"

      column="id"

      >

     

     

     

      name="Cpu"

      column="cpu"

      type="string"

      not-null="false"

      length="50"

      />

     

      name="Mainboard"

      column="mainboard"

      type="string"

      not-null="false"

      length="50"

      />

     

      name="Displaycard"

      column="displaycard"

      type="string"

      not-null="false"

      length="50"

      />

     

      name="Harddisk"

      column="harddisk"

      type="string"

      not-null="false"

      length="50"

      />

     

      name="Display"

      column="display"

      type="string"

      not-null="false"

      length="50"

      />

     

      name="Memory"

      column="memory"

      type="string"

      not-null="false"

      length="50"

      />

     

      name="Soundcard"

      column="soundcard"

      type="string"

      not-null="false"

      length="50"

      />

     

      name="Cdrom"

      column="cdrom"

      type="string"

      not-null="false"

      length="50"

      />

     

      name="Mouse"

      column="mouse"

      type="string"

      not-null="false"

      length="50"

      />

     

      name="Keyboard"

      column="keyboard"

      type="string"

      not-null="false"

      length="50"

      />

     

      Hibernate-mapping>

      [/table]

      生成的Computer.hbm,中Id字段为自增,需要将generatorclass=”VM”参数改为increment

      将Mapping文件加入到Hibernate.cfg.xml中

     

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

      [table]

      Hibernate-configurationPUBLIC

      "-//Hibernate/HibernateConfigurationDTD3.0//EN"

      "http://Hibernate.sourceforge.net/Hibernate-configuration-3.0.dtd">

      <Hibernate-configuration>

     

      Hibernate.connection.username">root

      Hibernate.dialect">

      org.Hibernate.dialect.MySQLDialect

     

      Hibernate.connection.url">

      jdbc:mysql://localhost/Hibernate

     

      Hibernate.connection.driver_class">

      org.gjt.mm.mysql.Driver

     

     

     

      Hibernate-configuration>

      [/table]

      四、生成Java代码

      通过HibernateSynchronizer生成HibernateJava代码。

     

      生成的代码结构如图:

     

      五、编写代码

      [table]

      packagemy.demo.Hibernate.Sample;

      importorg.apache.log4j.PropertyConfigurator;

      importorg.Hibernate.SessionFactory;

      importorg.Hibernate.Session;

      importorg.Hibernate.cfg.Configuration;

      importmy.demo.Hibernate.Computer;

      publicclassComputerCreate{

      /**

      *@paramargs

      */

      publicstaticvoidmain(String[]args){

      PropertyConfigurator.configure("log4j.properties");

      Configurationcfg=newConfiguration();

      cfg.configure();

      SessionFactorysf=cfg.buildSessionFactory();

      Sessionsession=sf.openSession();

      Computercomputer=newComputer();

      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(Exceptione){

      e.printStackTrace();

      }

      }

      }

      [/table]

      总结

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

      关于作者

      樊欢java爱好者,您可以通过heydaymail@hotmail.com与我联系。

      Email:heydaymail@hotmail.com

      Blog:http://heyay.blo

    发表于 @ 2008年05月01日 06:32:32|评论(loading...)|编辑

    新一篇: Spring--内容与形式并重[2005.5] | 旧一篇: javascript的字符一个接一个打出来

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © zgqtxwd