ibaits中sqlMapClient.getCurrentConnection()返回null

//手动回滚

SqlMapClient sqlMapClient = null;
try {
sqlMapClient = this.getSqlMapClient();
sqlMapClient.startTransaction();
sqlMapClient.getCurrentConnection().setAutoCommit(false);
sqlMapClient.startBatch();
String statement = "abc.def";
HashMap<String, String> hm = new HashMap<String, String>();
String[] guidArr = guids.split(",");
for(String guid : guidArr) {
hm.put("guid", guid);
sqlMapClient.update(statement, hm);
}
sqlMapClient.executeBatch();
sqlMapClient.getCurrentConnection().commit();
sqlMapClient.commitTransaction();
} catch (SQLException e) {
try {
sqlMapClient.getCurrentConnection().rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
result = false;
} finally {
try {
sqlMapClient.getCurrentConnection().setAutoCommit(true);
sqlMapClient.endTransaction();
} catch (SQLException e) {
result = false;
}
}

因为之前

sqlMapClient.getCurrentConnection().setAutoCommit(false);

sqlMapClient.startBatch();

的位置颠倒,导致sqlMapClient.getCurrentConnection()得到null

猜你喜欢

转载自blog.csdn.net/iamxiapengfei/article/details/78583009