前言:
前些天做项目时设计完数据库后参考原项目使用的MyEclipse自带的生成工具——MyEclipse Persistence Tools,今天跟大家分享一下它的使用方法及我在使用中遇到的问题。
正题:
通过下面三个步骤就可以通过数据表逆向生成实体类和映射文件。
第一步:配置数据源
1、打开MyEclipse,新建一个web工程,这里命名为hibernate_demo:
2、打开数据库设置器:依次单击【window】-->【ShowView】-->【Other…】 如下图所示:
3、在弹出的窗口ShowView中选择DBBrowser,如下图所示:
4、在DBBrowser窗口中,选择显示的图标,单击右键执行新建命令,如下图示:
5、弹出DatabaseDriver对话框,在此会要求我们配置数据库的相关信息,具体设置如下图所示,设置完成,单击Finish.
第二步:引入hibernate配置文件
1、添加hibernate包:
选中我们的Web工程,依次单击鼠标右键-->MyEclipse-->AddHibernate Capabilities… 如下图所示:
2、在弹出的窗口中做如下设置:
【Next】
【Next】
单击Next,把要创建的SessionFactory放置于相应的包中,如果前面没有设置包名,这里要先单击New创建新的包。
单击【Finish】按钮,页面效果如下图所示:
tips:对于要生成实体类和映射文件,前面这几步是必须的,如果您不需要hibernate.cfg.xml文件和HibernateSessionFactory类的话可以在生成实体类和映射文件后将这两个文件删除即可。
如果您需要hibernate.cfg.xml文件并想对其进行配置,可以参考下面这一步骤:
给hibernate.cfg.xml文件添加属性:在properties处选择Add…,如下图所示:
单击【Add…】,在HibernateProperties Wizard页面填入如下图所示信息,最后单击Ok。
show_sql:默认为false,如果为true,表示在程序运行时,会在控制台输出SQL语句,这有利于跟中Hibernate的运行状态。在开发和测试阶段,可以将该属性设置为true,以便跟踪、调试程序,在应用发布以后,应将该属性值设置为false,以减少应用的输出信息,提高运行性能。
第三步:添加hibernate映射文件
1、新建org.njy.bean包
2、在前面设置的数据源上找到我们要操作的表:
在DBBrowser中选中新建的数据源,单击鼠标右键并选择open connection..
输入数据库的用户名和密码,以创建连接:
找到刚才新建的crud数据库,然后是TABLE,如下图所示:
生成POJO:
善后工作:
1.生成完成后,它会自动生成两个包Hibernate3.3Annotation和Hibernate3.3CoreLibraries,如果你的项目中不需要使用删除即可(当然还有hibernate.cfg.xml和HibernateSessionFactory可以删除):
2.如果你的数据表中有注释,那么就要注意了,myeclipse的生成工具会将注释生成到<column></column>之间而且用的是<comment>标签生成的,这是会报两个错误:
1)org.xml.sax.SAXParseException:The content of element type "column" must match EMPTY(这个是<column></column>标签中间必须为空,不能有注释)
2)Element“comment”must be declared(这个是<comment>不能识别,改为<!-- -->这种注释然后将注释提到<column>标签外即可)
3.数据库中的Number类型会转换为java.math.BigDecimal,将该类型转换为java.lang.Long.
“磨刀不误砍柴工”,一个好的工具和一些使用技巧可以帮助我们省去很多的麻烦。