package Emprry;
import jdbcUtil.JdbcUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.jar.JarEntry;
public class Emprry {
/*
* 模拟银行转账
* */
public static void main(String[] args) {
//定义空
Connection conn=null;
PreparedStatement pre=null;
try {
//调用JDBc封装工具类
conn = JdbcUtil.getConnection();
//手动开启事物
conn.setAutoCommit(false);
// 获取PreparedStatement
pre = conn.prepareStatement("update coount set money=money-? where cname=?");
//第一个数位 你的转账的钱
pre.setDouble(1,100);
//第二个为转钱人的名字
pre.setString(2,"李斯");
//执行sql语句
pre.executeUpdate();
// 3 获取PreparedStatement
pre = conn.prepareStatement("update coount set money=money+? where cname=?");
//收钱
pre.setDouble(1,100);
//收钱的名字
pre.setString(2,"商鞅");
//执行sql语句
pre.executeUpdate();
//提交事物
conn.commit();
System.out.println("转账成功");
} catch (SQLException e) {
try {
//如果转账失败执行事物回滚
conn.rollback();
} catch (SQLException e1) {
}
System.out.println("转账失败");
}finally {
JdbcUtil.close(pre,conn);
}
}
}