Hibernate Tools可以通过访问已经建立好的数据库以反向工程方式生成POJO文件。
今天就来说一下如何使用Hibernate Tools来生成POJO。
1、首先,要去Hibernate的网站下载这个工具包。一个大约14M的ZIP压缩文件。
http://jaist.dl.sourceforge.net/sourceforge/jboss/HibernateTools-3.2.4.Beta1-R200810311334.zip
2、解压缩下载好的文件,释放出features和plugins这两个文件夹和其中的内容。完成后将这两个文件夹复制到Eclipse的目录下(这两个文件夹在Eclipse中是默认存在的,直接复制就行了)。
3、到这步为止HibernateTools的安装就算结束了,下面开始配置和具体使用。一开始选择工程下的SRC目录,然后右键New->Other->Hibernate->Hibernate Configuration File(cfg.xml),在弹出的窗口中选择Next ,进入到下面的选项中。
注意,这个地方有几项是一定要填写的。他们分别是Database dialect(数据库方言)、Driver class(数据库驱动)、Connection URL(链接字符串)以及Username和Password(访问数据库的用户名和密码)。
上图图中使用的是MySQL5数据库的配置,vane是我机器中已经创建好的数据库。使用其他数据库的时候会略有不同。
填好之后选择Finish。
4、选择Eclipse的下拉菜单Window->Show View->Other->Hibernate->Hibernate Configurations,现在就可以查看Hibernate的配置窗口了。在窗口中单击右键Add Configuration,出现Edit Configuration窗口。
这里需要给Configuration起个名字,然后在Project项目中选择当前工程。
单击OK。
5、如果上一步的配置是正确的,那么在Hibernate的配置窗口中就可以看见Hibernate访问数据库得到的数据信息。
没有访问成功的话会弹出对话框,可以根据提示信息来判断自己的工程中出现了什么问题。大多数情况是由于工程中没有MySQL的驱动造成的。
如果再有什么解决不了的问题,可以给我留言,我会跟您一起研究的。
驱动包的官方下载地址:
http://dev.mysql.com/downloads/connector/j/5.1.html
6、第5步成功的话就可以进行最后一步生成Code的工作了,多么激动人心的时刻啊o(∩_∩)o...
不着急,这里我们先做一个准备工作。右键单击Eclipse的工具条,选择Customize Perspective->Commands->Hibernate Code Generation,单击OK。这样工具栏中就增加了Hibernate的图标。
左键单击图标右边的下箭头,在下拉菜单中选择Hibernate Code Generation Configurations,
在弹出的窗口中进行最后的设置。
Main标签下的Output directory选择的是生成文件的位置,选择到src目录即可。Reverse engineer from JDBC Connection这个单选框很重要,选上就是了。Package选择的是生成POJO的包名,可以根据需求自己起名字。reveng.xml这个地方选择Setup->Create new->工程名->Next->Refresh->include->Finish,搞定!(reveng可不是变形金刚~)
Exporters标签下选择您要生成的文件,其中Domain code(.java)是一定要选的,第二项Hibernate XML Mappings(.hbm.xml)是生成配置文件的,如果您的工程中决定使用Annotation的话可以忽略这一项。
最后一步,点击Run,这样就得到您想要的POJO代码了。觉得不满意自己再慢慢修改吧,也可以写一个格式化代码的程序,这个下次再说吧。
PS:第一次写技术博客,可能有很多地方讲得不清楚或者有地方说错了,希望大家给我一一指出,我会尽快改正的!
1 楼 youjianbo_han_87 2009-06-30
第四步时,加上 加入 Hibernate gencode下所需的jar包会更好。呵呵
2 楼 镭风【CHN】 2009-07-03
youjianbo_han_87 写道
第四步时,加上 加入 Hibernate gencode下所需的jar包会更好。呵呵
多谢指教
3 楼 Hillen.chan 2010-09-07
点击Database是有错误,could not load annotactionconfiguration是什么原因? 我新手。
4 楼 liuhong2099 2010-10-05
好写的不错 你一写 Myeclipes又少了一个客户