1.事务:一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则多个步骤要么同时成功,要么同时失败。
2.操作:
1.开启事务
2.提交事务
3.回滚事务
3.使用Connection 对象来管理事务
*开启事务:setAutoCommit(boolean autoCommit):调用该方法设置参数为False,即开启事务
*提交事务:commit()
*回滚事务:rollback()
public class JDBCDemo6 {
public static void main(String[] args) {
Connection conn=null;
PreparedStatement pstmt1=null;
PreparedStatement pstmt2=null;
try {
// 1.获取链接
conn= JDBCUTils.getConnection();
//开启事务
conn.setAutoCommit(false);
// 2.定义sql
// 2.1 liu-500
String sql1="update count set money =money - ? where name= ?";
// 2.2 lin+500
String sql2= "update count set money =money + ? where name= ?";
// 3.获取执行sql对象
pstmt1=conn.prepareStatement(sql1);
pstmt2=conn.prepareStatement(sql2);
// 4.设置参数
pstmt1.setDouble(1,500);
pstmt1.setString(2,"lin");
pstmt2.setDouble(1,500);
pstmt2.setString(2,"liu");
// 5.执行
pstmt1.executeUpdate();
pstmt2.executeUpdate();
conn.commit();
} catch (SQLException e) {
if (conn!=null){
conn.rollback();
}
e.printStackTrace();
}finally {
JDBCUTils.close(pstmt1,conn);
JDBCUTils.close(pstmt2,null);
}
}
}