JDBC更新數據

JDBC更新數據
  數據的更新是一個很常見的需求, 並且在數據的更新的時候極可能會要考慮到事務的原子性,
  一個事務中多個操做要拿都成功要麼都失敗.sql

Demo: SCOTT 轉帳給 JAMES 100元spa

 1 public class TestMysql {  2     //取得鏈接
 3     private static Connection conn =ConnectionUitl.getConnection();  4     
 5     public static void main(String[] args) {  6         updateDeposit(100.0);  7  }  8     
 9     public static int updateDeposit(Double deposit) { 10         String sql1 = "UPDATE emp SET deposit = deposit-"+deposit+"WHERE ename='SCOTT'"; 11         String sql2 = "UPDATE emp SET deposit = deposit+"+deposit+"WHERE ename='JAMES'"; 12         
13         //獲取發送 sql 語句的對象
14         try { 15             //取消事務的自動提交
16             conn.setAutoCommit(false); 17             PreparedStatement pst1 = conn.prepareStatement(sql1); 18             PreparedStatement pst2 = conn.prepareStatement(sql2); 19             //執行 sql 語句
20  pst1.executeUpdate(); 21  pst2.executeUpdate(); 22             //提交事務
23  conn.commit(); 24             return 2; 25         } catch (Exception e) { 26             try { 27  conn.rollback(); 28             } catch (SQLException e1) { 29  e1.printStackTrace(); 30  } 31  e.printStackTrace(); 32         } finally { 33  ConnectionUitl.close(conn); 34  } 35         return 0; 36  } 37 }
相關文章
相關標籤/搜索