AOP的實物不回滾

2021-07-25 18:37:34 字數 1518 閱讀 2147

實物配置如下

配置

expression="execution(* com.kl.napchen.store.impl..*.*(..))" />

希望該包名下的所有類的所有方法都啟用事物,然後我在service裡面

@override

public mapdelete(listproducttypes) 

}if (producttype.gettype().equals("中類")) 

}// 小類不需要處理,直接刪除

// producttype.setlargetype(producttypes.get(i).getlargetype());

producttype.setmediumtype(producttypes.get(i).getmediumtype()

.equals("-") ? null : producttypes.get(i)

.getmediumtype());

producttype.setsmalltype(producttypes.get(i).getsmalltype()

.equals("-") ? null : producttypes.get(i)

.getsmalltype());

system.out.println(producttype.getlargetype());

system.out.println(producttype.getmediumtype());

system.out.println(producttype.getsmalltype());

// 清空引數

params.clear();

// 根據三個型別可以確定id

hql = " from producttype pt" + //

" where pt.largetype = :largetype ";//

params.put("largetype", producttype.getlargetype());

if (producttype.getmediumtype() != null) 

if (producttype.getsmalltype() != null) 

// 獲取唯一的資料

producttype = producttypedao.get(hql, params);

system.out.println("id:" + producttype.getid());

producttypedao.delete(producttype);

int g=1/0

}map.put("ret", "0");

map.put("error", "");

return map;

} catch (exception e) 

}

紅色除0出錯,但是並沒有回滾。

log如下:

關於AOP事務不回滾的問題

配置了事務,異常丟擲為什麼不回滾呢?解決 a.先確認資料庫型別,看表是否採用innodb,mysql只有innodb型別表才支援事務.myiasm 是不支援事務的.b.看事務配置的相關dtd 發現有個 rollback for 的配置.後面找了下.發現預設情況下.spring對checked exc...

spring mybatis事務不回滾

對spring,mybatis進行整合時發現事務不能進行回滾處理,上網查了很多資料依舊還沒解釋,很多都是說要丟擲乙個runtimeexception才能回滾的,但嘗試過多種還不能,如下 classpath jdbc.properties bolgservice bolgflowservice 檢視資...

Transactional註解不回滾

1.檢查你方法是不是public的。2.你的異常型別是不是unchecked異常。如果我想check異常也想回滾怎麼辦,註解上面寫明異常型別即可。transactional rollbackfor exception.class 類似的還有norollbackfor,自定義不回滾的異常。3.資料庫引...