Mega Code Archive

 
Categories / Java / Database SQL JDBC
 

JDBC Transaction

/* MySQL and Java Developer's Guide Mark Matthews, Jim Cole, Joseph D. Gradecki Publisher Wiley, Published February 2003,  ISBN 0471269239 */ import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.Timestamp; public class Transaction {   Connection connection;   public Transaction() {     try {       Class.forName("com.mysql.jdbc.Driver").newInstance();       connection = DriverManager           .getConnection("jdbc:mysql://192.168.1.25/accounts?user=spider&password=spider");     } catch (Exception e) {       System.err.println("Unable to find and load driver");       System.exit(1);     }   }   public void doWork() {     try {       java.util.Date now = new java.util.Date();       connection.setAutoCommit(false);       Statement statement = connection.createStatement(           ResultSet.TYPE_SCROLL_INSENSITIVE,           ResultSet.CONCUR_UPDATABLE);       ResultSet rs = statement           .executeQuery("SELECT * FROM acc_add WHERE acc_id = 1034055 and ts = 0");       // set old row ts = current time       rs.next();       rs.updateTimestamp("ts", new Timestamp(now.getTime()));       rs.updateRow();       rs.moveToInsertRow();       rs.updateInt("add_id", rs.getInt("add_id"));       rs.updateInt("acc_id", rs.getInt("acc_id"));       rs.updateString("name", rs.getString("name"));       rs.updateString("address1", "555 East South Street");       rs.updateString("address2", "");       rs.updateString("address3", "");       rs.updateString("city", rs.getString("city"));       rs.updateString("state", rs.getString("state"));       rs.updateString("zip", rs.getString("zip"));       rs.updateTimestamp("ts", new Timestamp(0));       rs.updateTimestamp("act_ts", new Timestamp(now.getTime()));       rs.insertRow();       connection.commit();       rs.close();       statement.close();       connection.close();     } catch (Exception e) {       try {         connection.rollback();       } catch (SQLException error) {       }       e.printStackTrace();     }   }   public static void main(String[] args) {     Transaction trans = new Transaction();     trans.doWork();   } }