先看段經典的ibatis spring配置,注意我的配置中沒有配置spring的宣告式事務:
面對上面的配置,看下面的**有什麼問題:
try
catch(exception e) catch (exception ex)
}
表面上沒有問題,錯!問題很大~~~看下面sqlmapclientfactorybean源**
再看下externaltransactionconfig**:
public class externaltransactionconfig extends basetransactionconfig
//...省略
}
再看externaltransaction:
public class externaltransaction implements transaction
public void rollback() throws sqlexception, transactionexception
}
到此真相大白,事務沒有任何作用~~
也就是說如果使用spring整合管理ibatis,ibatis的事務將完全交由外部spring進行管理,ibatis不作為!
為什麼有時候似乎資料庫裡面也插入了資料?哦,請看下面的屬性配置:
這個屬性的配置起了關鍵作用,如果配置為true,會自行提交,這也就不難解釋為什麼有資料了,而一旦配置成false,資料卻一條也沒有了~•~•
spring ibatis 配置事務
下面具體的說明一下事務配置.propagation required,exception propagation required,exception propagation required,exception propagation required,exception propagation ...
spring ibatis事務配置
propagation required propagation required propagation required,readonly spring的transactionattributes的配置 propagation required 支援當前事務,如果當前沒有事務,就新建乙個事務。這...
Spring Ibatis批量效能
1.按需取資料,減少網路開銷。a 表 有 100 多個字段,儲存在資料庫 a 上 id property1 property2 property120 b 表 只有 10 個字段,儲存在資料庫 b 上 id property1 property2 property10 要從 a 表中查詢一些資料在插...