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,代码修改如下:
3.欣赏成果
如果所有的配置正确,ContentDAO类应该可以运行了,运行后,程序会向表Content插入100条记录。祝你好运!!
4.在我测试时出现如下错误,现在也贴出来,希望对大家有所帮助:
4.1如果运行时出现如下异常
Could not find UserTransaction in JNDI javax.naming.NoInitialContextException:…
解决:把配置文件“hibernate.cfg.xml”中的
net.sf.hibernate.transaction.JTATransactionFactory
java:comp/UserTransaction
两行设置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”中的
第一次写关于Hibernate的文章,如有不对的地方,请批评指正。
最后,祝大家成功!!^_^