Recipe 15.8. Using Transactions in Java Programs


Problem

You want to perform a transaction in a JDBC application.

Solution

Use the standard JDBC transaction support mechanism.

Discussion

To perform transactions in Java, use your Connection object to turn off auto-commit mode. Then, after issuing your statements, use the object's commit⁠(⁠ ⁠ ⁠) method to commit the transaction or rollback⁠(⁠ ⁠ ⁠) to cancel it. Typically, you execute the statements for the transaction in a TRy block, with commit⁠(⁠ ⁠ ⁠) at the end of the block. To handle failures, invoke rollback⁠(⁠ ⁠ ⁠) in the corresponding exception handler:

try {   conn.setAutoCommit (false);   Statement s = conn.createStatement ();   // move some money from one person to the other   s.executeUpdate ("UPDATE money SET amt = amt - 6 WHERE name = 'Eve'");   s.executeUpdate ("UPDATE money SET amt = amt + 6 WHERE name = 'Ida'");   s.close ();   conn.commit ();   conn.setAutoCommit (true); } catch (SQLException e) {   System.err.println ("Transaction failed, rolling back.");   Cookbook.printErrorMessage (e);   // empty exception handler in case rollback fails   try   {     conn.rollback ();     conn.setAutoCommit (true);   }   catch (Exception e2) { } } 




MySQL Cookbook
MySQL Cookbook
ISBN: 059652708X
EAN: 2147483647
Year: 2004
Pages: 375
Authors: Paul DuBois

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net