使用 BasicDataSource 的 MYSQL 事务

标签: MySQL Java
发布时间: 2015/6/11 23:04:26
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

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

我有一个谷歌周围,似乎找不到任何示例说明了如何使用事务。请有人可以告诉我如何这可能被做?

谢谢你

解决方法 1:

当你把连接标记设置此连接为自动提交虚假

connection.setAutoCommit(false);

一旦你出示完成你的任务提交该事务

connection.commit();

一旦出现异常回滚该事务

connection.rollback();

它是你可以去与交易以及其他执行正常 jdbc 事务。检查此示例在这里

官方微信
官方QQ群
31647020