public class JBDCzhuanzhang {
public static void main(String[] args) {
Connection connection=null;
PreparedStatement preparedStatement=null;
// zs转给ls 100元
try {
//第一步:得到数据库链接
connection= JDBCUtils.getConnection();
//第二步:开启事务
connection.setAutoCommit(false);
//第三步:准备好转账的SQL语句
String sql1="update user set money=money+? where id=?";
// String sql2="update account set money=money+100 where id=?";
// 第四步:加载SQL
// zs转出100
preparedStatement=connection.prepareStatement(sql1);
preparedStatement.setDouble(1,-100);
preparedStatement.setInt(2,1);
preparedStatement.executeUpdate();
// ls转入100
preparedStatement=connection.prepareStatement(sql1);
preparedStatement.setDouble(1,100);
preparedStatement.setInt(2,2);
preparedStatement.executeUpdate();
// 第五步:提交事务
connection.commit();
} catch (Exception e) {
try {
connection.rollback();
} catch (SQLException ex) {
throw new RuntimeException(ex);
}
}finally {
try {
// 第六步:关闭流
JDBCUtils.close(null,preparedStatement,connection);
} catch (SQLException e){
throw new RuntimeException(e);
}
}
}
}
数据库
运行
运行完运行成这样就是成功了
成功后到数据库刷新
这样转账就完成了