對於這個問題有兩種情況:
1.catch只打印異常,不拋出異常
try { 數據庫做添加訂單表; int a=5/0; 數據庫減少庫存; }catch (Exception e){ e.printStackTrace(); }
此方法會影響事務,此時數據庫中訂單數據會插入成功!因為Spring的事物的標准是RuntimeException
2.catch打印異常,並拋出異常
1 try { 2 數據庫做添加訂單表; 3 int a=5/0; 4 數據庫減少庫存; 5 }catch (Exception e){ 6 e.printStackTrace(); 7 throw new RuntimeException(); 8 }
此方法不會影響事務,因為拋出了RuntimeException