码迷,mamicode.com
首页 > 其他好文 > 详细

初识事物管理

时间:2017-12-20 03:43:44      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:fse   cifs   方法   and   date   ext.get   nsa   ash   update   

在plsql中for update每天都会用上十几次事务管理,java中还是第一次修改。 用的是spring的编程式事物管理,主要事物代码:

this.getTransactionTemplate().execute(new TransactionCallback() {
			public Object doInTransaction(TransactionStatus arg0) {
				List acList=(List)delMap.get(Dict.LIST);
				for (int i = 0; i < acList.size(); i++) {
					Map oneAcMap=(Map)acList.get(i);
	....................................			

  

org.springframework.transaction.support中的 TransactionTemplate有一个重要的方法execute(TransactionCallback action) TransactionCallback。

顾名思义,就是事务回调然后查到TransactionCallback。发现这是一个接口(这也必须是接口,因为任务都是自己具体定义的)

里面只有一个方法:doInTransaction(TransactionStatus status),ransactionStatus,继续顾名思义,也就是事务状态。

对于选中的几张卡会调用一系列捆绑的进行校验和接触关联。然后对主要的表account进行状态修改:

getSqlMap().update("setting.updatedRelaAct", oneAcMap);
	<update id="updatedRelaAct" parameterClass="java.util.HashMap">
    update PACCOUNT set AcState=‘1‘ where AcNo=#AcNo# and BankSeq=#_BankSeq# and CifSeq=#_CifSeq#
	</update> 

以为到这里就结束了?

BankSysRule sendCoreRule=cachedBankRuleAttribute.getResourceWithNull((PerUser) finalContext.getUser(), CONSMSG.RULETYPE_TRSDEF, "RelaActDelete.SendCore");
if(sendCoreRule!=null&&"Y".equals(sendCoreRule.getRuleDef())){//是否把信息提交核心

bankrule中ruledef居然是Y,是谁动了我的数据库?为什么要核心帮我解绑,AcState在我这里,而且我for updated为零后正常显示了。

事物不应该是这样吗?为什么没有try没有回滚
transactionTemplate.execute(new TransactionCallback() {  
            public Object doInTransaction(TransactionStatus status) {  
                try {  
                    // 数据库操作1  
                    // 数据库操作2  
                } catch (Exception e) {  
                    status.setRollbackOnly();  
                    e.printStackTrace();  
                }  
                return null;  
            }  
        });  

  

初识事物管理

标签:fse   cifs   方法   and   date   ext.get   nsa   ash   update   

原文地址:http://www.cnblogs.com/liwanxing/p/8068059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!