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 }
相关文章
相关标签/搜索