zoukankan      html  css  js  c++  java
  • JDBC事物的处理

    JDBC事物的处理:

    概念:事务是指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。

    数据库开启事务命令:

    start transaction  开启事务

    Rollback  回滚事务

    Commit   提交事务

    事物的使用:

    JDBC控制事务语句

    Connection.setAutoCommit(false); //  相当于mysql语句的start transaction

    Connection.rollback(); //  相当于mysql语句的 rollback

    Connection.commit(); //  相当于mysql语句的 commit
    -----------------------------------------------------------------------------------

    代码如下:

     1 package com.aaa.demo1;
     2 
     3 
     4 import com.aaa.demo.JdbcUtils;
     5 
     6 import java.sql.Connection;
     7 import java.sql.PreparedStatement;
     8 import java.sql.SQLException;
     9 
    10 public class DemoTranscation {
    11     public static void main(String[] args) {
    12         Connection conn = null;
    13         PreparedStatement ps = null;
    14 //        1 获取链接
    15         try {
    16             conn = JdbcUtils.getConnectio();
    17             //2 开启事物
    18            conn.setAutoCommit(false);
    19 //        3 获取PreparedStatement
    20             ps = conn.prepareStatement("UPDATE count SET money = money-? WHERE cname =?");
    21 
    22 
    23 //        4 使用PreparedStatement 两次更新操作
    24             ps.setDouble(1, 500);
    25             ps.setString(2, "樱花落");
    26             ps.executeUpdate();
    27             System.out.println(111 / 0);
    28             ps = conn.prepareStatement("UPDATE count SET money = money+? WHERE cname =?");
    29             ps.setDouble(1, 500);
    30             ps.setString(2, "洛天依");
    31             ps.executeUpdate();
    32             //提交事物
    33 
    34            // System.out.println("转账成功");
    35             //conn.commit();
    36 
    37         } catch (Exception e) {
    38             //事物回滚
    39             try {
    40                 conn.rollback();
    41             } catch (SQLException e1) {
    42                 e1.printStackTrace();
    43             }
    44             System.out.println("转账失败");
    45         } finally {
    46             //关资源
    47             JdbcUtils.close( conn,ps);
    48 
    49         }
    50 
    51     }
    52 }
  • 相关阅读:
    正则表达式---用户验证
    最短路 Dijkstra
    最短路 Dijkstra+堆优化
    LCIS(最长公共上升子序列)
    最小生成树 Kruskal
    网络流 最大流
    网络流 最小费用最大流
    树链剖分
    树状数组
    双重Hash
  • 原文地址:https://www.cnblogs.com/yanpingping/p/10646131.html
Copyright © 2011-2022 走看看