毕业设计之每天总结 一

遇到的问题:

1.ConstraintViolationException

提交参数中有null;


今天的学习:

1.

<bean id="paperList"
		  class="com.shu.cms.action.collection.PaperAction">
		<property name="action" value="list" />
		<property name="commandClass" value="com.shu.cms.form.collection.PaperForm"/>
		<property name="formView" value="/admin/collection/paper_list" />
		<property name="successView" value="redirect:/paper_list.htm" />
		<property name="paperService" ref="paperService" /> 
	</bean>
commandClass 属性用于绑定页面对应的视图View对应的Form


2.DAO层设计

一个HibernateDAO用于实现基本insert,update ,delete操作。所有事务处理用一个参数类封装

再在底层使用HibernateUtil,拆解封装事务进行数据库操作.

HibernateUtil.doQuery();

在这之前我的DAO层设计(如图):

这种设计是在李刚的J2EE开发书上看的,当时因为觉得获取list的需求会很不一样,各种各样的条件于是就会有很多特例的操作方法,所以把这些基本操作都

分别让DAO各自实现list。这样就会在单独的类里面产生很多个list方法,相应的接口中也一样。当时就觉得非常混乱。而且代码也有很多的重复

每次修改一个数据库操作就得把涉及到的DAO接口实现类,以及底层的数据库操作代码都修改一遍。觉得没体现到什么便捷。


今天学到了另外一种DAO层设计如图:

这样的话各种各样的数据库操作都用一个操作类(QueryParam)进行封装。这样list就只需要一个就行。于是把这些方法都放在HibernateDAO上。具体的StudentDAO

什么的就只要继承HibernateDAO就行。只需要封装特定的操作最后调用相应DAO的list方法。然后在HibernateDAO中用HibernateUtil解析QueryParam来实现list(QueryParam).如此就不需要在XxxDAO中编写一大堆list了。以后需要增加或者修改需求的话只需要重新定义个QueryParam然后调用studentDAO.list(QueryParam)就行

这样就把执行事务和事务本身给区分开来了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值