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!