MiddlegenIDE的使用

最近有朋友发信,说MiddlegenIDE的主页出了点状况,登陆上去显示的内容莫名其妙,给新手使用MiddlegenIDE带来了困难。本座去看了一下,果然是莫名其妙得厉害。下面总结一个MiddlegenIDE的使用教程吧。

MiddleGen for Hibernate加上Hibernate_Extension工具包,其实就是用来方便我们从先有的数据库导出表结构,生成对应的hbm、cfg文件与POJO类代码。MiddleGenIDE则是MiddleGen的Eclipse插件。整套东西已经有很久没有更新过了。所以虽然本座现在用的eclipse版本3.1.x也能与这个插件正常配合,但是它没有提供在线update的功能。需要你先下载middlegenide,安装插件之后重启Eclipse。如果新开启的eclipse没有变化,估计你得用"- clean"参数再重启一下,或者去删除configuration文件夹下面对应的文件。

OK,下面讲讲怎么去用。首先当然要搭建一个环境(我现在把MySQL更新到了5.0,Hibernate和当时一样是2.1),然后我们建一个表,装一点数据。MySQL下面建表的脚本如下:
 
DROP TABLE IF EXISTS `test`.`t_user`;          CREATE TABLE  `test`.`t_user` (          `id` (11) NOT NULL auto_increment,          `name` varchar(255)  NULL,          PRIMARY KEY  (`id`)         ) ENGINE=InnoDB DEFAULT CHARSET=gbk;


有了表之后,建立一个Java工程。然后在Src文件夹上面右键,选择“New-Other”



然后会弹出Middelgen Biuld File的选项。因为MiddleGen是一个使用Ant编译文件来调出IDE的包,所以这个插件实际上就是方便我们用完型填空的方式来编写这个Biuld File而已。



点击后出现下面的界面,对应的内容一目了然,按照自己的需要填写即可。



下面这张图是填好后的样子。和本座一样没有使用Hibernate 3的朋友,注意在画了红圈的Option选项中把hibernate的版本调低。不然生产的配置文件,会有一个非常诡异的"xml parser无法解析dtd"的错误。



填好所有的东西就点击Next进入MiddleGen界面,几乎不用改任何东西直接点击Generate就能得到配置文件和POJO类了。



另外,如果你需要在MiddleGen中生成的POJO直接带Xdoclet的标记的话,需要在找到它自带的模板文件:
 
eclipse\plugins\org.ultimania.middlegenide_1.3.2\resource\template\build-hibernate.xml.vm


然后把下面这行生成xdoclet tag的值改成true:
 
<property name=      value=>


最后我们写一个典型的TestCase来测试一下生成的POJO和配置文件。

 
 org.lenciel.test;  java.util.List;  net.sf.hibernate.HibernateException; net.sf.hibernate.Session; net.sf.hibernate.SessionFactory; net.sf.hibernate.Transaction; net.sf.hibernate.cfg.Configuration;  junit.framework.Assert; junit.framework.TestCase;  HibernateTest  TestCase     Session session = ;      setUp()                     SessionFactory sf =  Configuration().configure()            .buildSessionFactory();            session = sf.openSession();         (HibernateException e)             e.printStackTrace();                  tearDown()                     session.close();         (HibernateException e)             e.printStackTrace();                  testInsert()        Transaction tran = ;                     tran = session.beginTransaction();            TUser user =  TUser();            user.setName();            session.save(user);            session.flush();            tran.commit();            Assert.assertEquals(user.getId().intValue()>0,);          (HibernateException e)             e.printStackTrace();            Assert.fail(e.getMessage());             (tran!=)                                      tran.rollback();                 (HibernateException e1)                     e1.printStackTrace();                                              testSelect()         String hql= ;                     List userList = session.createQuery(hql).list();            TUser user = (TUser)userList.get(0);            Assert.assertEquals(user.getName(),);          (HibernateException e)             e.printStackTrace();            Assert.fail(e.getMessage());            


在console可以看到执行的过程。 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值