我使用Apache BasicDataSource来处理我的数据库代码 - 我只是创建方法来执行访问数据库的特定任务。下面是一个例子;
/**
* Update a users display name
* @param userid the user id to update for
* @param displayName the display name to change too
* @return true if update suceeded
*/
public static boolean updateDisplayName(String userid, String displayName){
Connection conn = null;
String sql = "update UserAccount set displayname = ? where userid = ? ";
try {
conn = source.getConnection();
PreparedStatement st = conn.prepareStatement(sql);
st.setString(1,displayName);
st.setString(2,userid);
st.executeUpdate();
return true;
} catch (Exception e) {
logger.warn("An error occured when updating the display name for " + userid, e);
} finally{
closeConnection(conn);
}
return false;
}
我有一个谷歌,似乎无法找到任何如何使用交易的例子。请有人可以告诉我如何做到这一点?
由于
答案 0 :(得分:0)
当你连接时,将此连接标记为auto commit false
connection.setAutoCommit(false);
一旦你成功完成了你的任务提交该交易
connection.commit();
如果异常回滚该事务
connection.rollback();
正常的jdbc事务也可以与其他事务实现一起使用 ..查看此示例here