王朝网络
分享
 
 
 

用eclipse+Hibernate Synchronizer(plugin)开发例子(原创)

王朝java/jsp·作者佚名  2006-01-31
宽屏版  字体: |||超大  

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.1在mysql数据库中的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.3用eclipse创建一个JAVA项目,如下所示:

选“Next>”一直到完成。

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

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

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

选择“Hibernate Configuration File”à “Next”

选择数据库类型、Database URL、Username及Password,OK, 文件“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的文章,如有不对的地方,请批评指正。

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有