关于hibernate的逆向工程的简单使用总结

这段时间,按照王哥给的模块的例子,自己照葫芦画瓢,又弄了一个模块。

王哥说要用Myeclipse自带的可视化环境去自动生成,当时没太听明白,按照网上的例子没弄明白。现在想想可能是数据库配置的时候出现了问题。于是我自己不求甚解的自己去全手动的把需要的东西都打了一遍,很累。但是收获还是很多的。把整个流程摸了个差不多,最起码,这部分出现的异常知道怎么去解决了。

当我完善了我做的增删改查之后,还查一部分表单验证没做,自己查了一些资料,感觉好费劲,以前没觉得表单验证多复杂的事,后来一看发现不是这样。表单验证这部分可以用多种方法来实现,完全可以分门别类的再写一个专门的来记录了。所以这里还是跳过这部分不说了。

这周任务基本完成,还少一些支根末节,我想还是等王哥的例子做好了,我在去做吧。
我还是喜欢例子。这样比较直观,我还是喜欢照葫芦画瓢,这改改那改改的。才能弄明白。

然后我打算再做一个增删改查的模块,另一张表的。
再做的时候我就不像第一遍做的时候,我想我可以再重敲一遍,再熟悉熟悉套路,或者直接学学IDE的自动生成,来体会IDE给程序员带来的福利。想了半天,最后还是用了第二种。
以下是自己边弄边总结的一些步骤,仅供参考:


今天试着用IDE用可视化视图去建立一个模块。Struts1.2+Spring2.5+hibernate3.2

前提是数据库要有个想要实现的表。这样你就爽了。不用去手写实体类了,哈哈。用hibernate的逆向工程  会为你生成与表相对应的 hbm.xml文件  和 相对应的实体类文件 以及 一些简单的DAO文件。

需要改的地方很多 比如说文件夹的结构 以及Spring的配置文件.

1.首先用hibernate的逆向工程,反向生成3个文件,①hbm.xml②实体类③DAO文件

2.更改文件夹的结构,系统化。手写以下service方法,以及DAO和service的接口。
添加功能,各种引用。然后才能下一步,记得在service里面private一个DAO,并为他生成getters and setters 方法,这样才能修改spring的配置文件,要不会出现问题。

3.修改spring的配置文件 applicationContext.xml
在里面添加像对应的 bean Service
示例代码如下:

<bean name="bsannService" class="com.grxxh.bsann.service.impl.BsannService">
	<property name="bsannDAO">
		<ref bean="BsannDAO" />
	</property>
</bean>


然后在添加mappingResources 添加指向  貌似是struts用的
示例代码如下

<property name="mappingResources">
	<list>
		<value>com/grxxh/user/User.hbm.xml</value>
		<value>com/grxxh/heen/Heen.hbm.xml</value>
		<value>com/grxxh/bsann/Bsann.hbm.xml</value>
	</list>
</property>


**注:其中每行valve对应所谓的一个表


4.修改struts-config.xml文件,添加想要实现的action。
**注:不要用struts-config.xml的design视图去自己画,如果自己去画的话,自动生成的<form-bean>会指向spring的配置文件,还需要自己修改,非常麻烦。还是手动添加比较好

5.建立跟Struts配置文件中action相对应的Action类和Form类。然后一步一步去实现。
XXXAction.java
public ActionForward execute(ActionMapping mapping, ActionForm form,

           HttpServletRequest request, HttpServletResponse response) {

       XXXForm xxxForm = (XXXForm) form;

      

       ActionForward forward = mapping.getInputForward();

       IXxxxService service = (IXxxxService) getBean("xxxService");

      
           //这就是个模板,我感觉应该有啥东西我就留着啥了。
           //是从一个登陆模块拽下来的.
           forward = mapping.findForward("suc");


       return forward;

    }


6.然后估计就差不多了,注意细节。差不多了,要想起什么,再来补充吧。

猜你喜欢

转载自alive41.iteye.com/blog/1234858
今日推荐