浏览 5842 次
锁定老帖子 主题:Spring+iBatis手动控制事务
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-14
public class TestDaoImpl extends SqlMapClientDaoSupport implements TestDao { public int updateTestRecord(TestRecord record) throws DataAccessException { return getSqlMapClientTemplate().update("updateTestRecord",record); } } 能不能手动控制事务提交,或者回滚, 比如 xx.startTransaction(); getSqlMapClientTemplate().update("updateTestRecord",record); xx.commit(); 不知道怎么做, 我想做的是,几个DAO一起控制事务 userDao1,userDao2,userDao3 在userService里面调用上面三个Dao如果三个Dao正常执行,就提交,不然回滚。 应该有办法,在网上查了一下发现 iBatis以前版本有个DaoManager但是现在最新版好像已经取消了, 不知道新版里有什么可以实现上述功能。 谢谢。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-02-26
这个应该是spring管理事物的问题咯。在userService里面调用上面三个Dao如果三个Dao,
按照你的要求:可以这样: dao层的方法都要向service层抛出异常,dao层不处理异常,在service层捕获异常,处理一下,这样spring就可以实现事物管理了。这个有几个问题:1spring是捕获dateaccessexception异常的时候才会事物管理成功。可以自己定义一个异常类,继承一下就行。2在spring配置文件里,把事物管理配置到service层上。 |
|
返回顶楼 | |