gpt4 book ai didi

java - 使用 BasicDataSource 的 MYSQL 事务

转载 作者:行者123 更新时间:2023-11-30 00:36:31 24 4
gpt4 key购买 nike

我正在使用 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;
}

我在谷歌上搜索了一下,似乎找不到任何有关如何使用事务的示例。请有人告诉我如何做到这一点?

谢谢

最佳答案

当您获取连接时,将此连接标记为自动提交 false

connection.setAutoCommit(false);

成功完成任务后,提交该事务

connection.commit();

如果出现异常则回滚该事务

connection.rollback();

这是正常的jdbc事务,您也可以使用其他事务实现 ..检查这个例子here

关于java - 使用 BasicDataSource 的 MYSQL 事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22127264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com