数据库事务练习-Java(新手)

 


 

数据库事务:

      一个数据库事务通常包含了一个序列的对数据库的读/写操作。
    为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。

 


 

 


 1 package JdbcDome;
 2 
 3 import java.sql.Connection;
 4 import java.sql.PreparedStatement;
 5 import java.sql.SQLException;
 6 
 7 public class JDBCDome3 {
 8     public static void main(String[] args){
 9         fun2();
10     }
11     public static void fun1(){
12         Connection conn = null;
13         PreparedStatement ppst = null;
14 
15         try {
16             //1 获得链接。
17             conn = JDBCUtils.getConnection();
18             //2 开启事务。
19             conn.setAutoCommit(false);
20             //3 获取PreparedStatement
21             ppst = conn.prepareStatement("update yhzz set money = money-? where uname = ?");
22             //4 使用PreparedStatement两次更新操作。
23             ppst.setInt(1,1500);
24             ppst.setString(2,"吴十一");
25             ppst.executeUpdate();
26 
27 
28             //3.1 获取PreparedStatement
29             ppst = conn.prepareStatement("update yhzz set money = money+? where uname = ?");
30             //4.1 使用PreparedStatement两次更新操作。
31             ppst.setInt(1,1500);
32             ppst.setString(2,"吴莫离");
33             ppst.executeUpdate();
34 
35             //5 提交事务。
36             conn.commit();
37             System.out.println("转账成功");
38 
39         } catch (Exception e) {
40             try {
           //回滚事务。
41 conn.rollback(); 42 } catch (Exception e1) { 43 e1.printStackTrace(); 44 } 45 System.out.println("转账失败"); 46 }finally { 47 JDBCUtils.close(conn, ppst); 48 } 49 50 }

 

posted @ 2019-04-02 20:47  浪子。  阅读(361)  评论(0编辑  收藏  举报