Heim  >  Artikel  >  Java  >  So verwenden Sie Connection zum Verwalten von Transaktionen in Java

So verwenden Sie Connection zum Verwalten von Transaktionen in Java

王林
王林nach vorne
2023-05-05 20:40:051100Durchsuche

1. Verwaltungstransaktion

(1) Öffnen Sie die Transaktion setAutoCommit

Rufen Sie diese Methode auf, um den Parameter auf false zu setzen, dh die Transaktion zu öffnen.

Starten Sie die Transaktion, bevor Sie SQL ausführen.

(2) Commit-Transaktion: commit()

Wenn alle SQL-Anweisungen die Ausführung der Commit-Transaktion abgeschlossen haben.

(3) Rollback-Transaktion: rollback()

Rollback der Transaktion in Catch.

2. Beispiel

public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement pstmt1 = null;
        PreparedStatement pstmt2 = null;
        try {
            //1.获取连接
            conn = JDBCUtils.getConnection();
            //开启事务
            conn.setAutoCommit(false);
            //2.定义sql
            //2.1 张三 - 500
            String sql1 = "update account set balance = balance - ? where id = ?";
            //2.2 李四 + 500
            String sql2 = "update account set balance = balance + ? where id = ?";
            //3.获取执行sql对象
            pstmt1 = conn.prepareStatement(sql1);
            pstmt2 = conn.prepareStatement(sql2);
            //4. 设置参数
            pstmt1.setDouble(1,500);
            pstmt1.setInt(2,1);
            pstmt2.setDouble(1,500);
            pstmt2.setInt(2,2);
            //5.执行sql
            pstmt1.executeUpdate();
            // 手动制造异常
            int i = 3/0;
            pstmt2.executeUpdate();
            //提交事务
            conn.commit();
        } catch (Exception e) {
            //事务回滚
            try {
                if(conn != null) {
                    conn.rollback();
                }
            } catch (SQLException e1) {
                e1.printStackTrace();
            }
            e.printStackTrace();
        }finally {
              //关闭资源
            JDBCUtils.close(pstmt1,conn);
            JDBCUtils.close(pstmt2,null);
        }

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Connection zum Verwalten von Transaktionen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen