4 事 务 ***** Jdbc来操作事物 完成转账功能 4.1 开发步骤 1 获取链接 2 开启事物 3 获取PreparedStatement 4 使用PreparedStatement 两次更新操作 5 正常情况下提交事物 6 出现异常 回滚事物 7 关闭资源 package demo2; import JdbcUtils.JdbcUtils; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /* *模拟银行的转业务 * **/ public class Demo1Transcation { private static Connection conn; private static PreparedStatement ps; public static void main(String[] args) { //1获取数据库连接 try { conn = JdbcUtils.getConnection(); //开启事务 conn.setAutoCommit(false); //获取执行平台preparedStatement ps = conn.prepareStatement("update coount set money=money-? where cname=?"); //使用PreparedStatement两次操作 ps.setDouble(1,500); ps.setString(2,"deng"); ps.executeUpdate(); ps = conn.prepareStatement("update coount set money=money+? where cname=?"); ps.setDouble(1,500); ps.setString(2,"xin"); ps.executeUpdate(); //提交事务 conn.commit(); System.out.println("转账成功"); } catch (SQLException e) { //事务回滚 try { conn.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } System.out.println("转账失败"); }finally { JdbcUtils.close(ps,conn); } } }