我用spring来管理事务,持久层是使用spring提供的JdbcTemplate来做数据操作。
由于项目比较大,通常一个业务就同时包含了增、删、改、查的操作,我想当其中一个操作失败时,其他都回滚,该怎么做?
如果是手动处理事务时,在异常代码处回滚就可以,但使用spring来管理事务,就不知道如何操作了?是向外抛出个异常吗?
请教各位大侠了!!!谢谢
由于项目比较大,通常一个业务就同时包含了增、删、改、查的操作,我想当其中一个操作失败时,其他都回滚,该怎么做?
如果是手动处理事务时,在异常代码处回滚就可以,但使用spring来管理事务,就不知道如何操作了?是向外抛出个异常吗?
请教各位大侠了!!!谢谢
解决方案 »
- 循环迭代之后怎么分页啊!!进来给点思路啊!!!!!!!!
- Need to specify class name in environment or system property, or as an applet pa
- tomcat和websphere的区别
- 用CS结构开发,服务器软件用什么,apache,IIS之类还是要自己写,或者有其他选择?
- 想学习jsp,请大家给些意见,摧荐一些好的书藉!
- 用struts开发中遇到空指针问题
- xfire问题,请求帮忙,设断点调试没有问题,运行时偶而出现
- 绝对郁闷!jdbc死活连接不上MSSQLServer,连接MySQL居然不能填密码!eclipse是我用过反应最慢的编程工具
- 关于配置Tomcat4.1虚拟目录的问题。
- java用jxl和freemarker将list数据导入到excel模版中出了问题
- 修改js文件 增加下拉菜单选项的问题
- 求助struts2的一个问题,请大家帮忙。谢谢
首先:需要在配置文件中配置一个事物拦截器。
然后把你的JdbcTemplate模板注入给业务层,在业务层调用dao,这样spring就能自己回滚。关键是要把配置写对。
比如:public int saveStudent(){
int flag=0;
//首先要保存班级
MyClass cls=new MyClass("计算机一机");
flag=myClassDao.save(cls);
if(flag>0){//保存成功
//就做保存学生的操作
}else{
//是在这里回滚吗?怎么控制事务
}
}
前端时间刚做了Spring的事务处理
不过事物不是配在dao这层,应该配在业务层,你配在dao层没有意义,根本涉及不到回滚。