首页 > 代码库 > 事务的处理案例
事务的处理案例
package com.lianxi; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class Testzhuan { public static void main(String[] args) throws Exception { send(1, 2, 1); } static{ try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static void send(int src,int target,int num) throws Exception{ Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/boooks","root","tiger"); PreparedStatement ps=null; PreparedStatement ps1=null; try{ conn.setAutoCommit(false); //先减钱 ps=conn.prepareStatement("update account set remain=remain-"+num+" where accountid=?"); ps.setInt(1, src); ps.execute(); int i=9/0; //加钱 ps1=conn.prepareStatement("update account set remain=remain+"+num+" where accountid=?"); ps1.setInt(1, target); ps1.execute(); conn.commit(); }catch(Exception e){ conn.rollback(); System.out.println("转账失败"); }finally{ ps.close(); ps1.close(); conn.close(); } } }
事务的处理案例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。