JavaJDBC【五、事务】
概念:
事务(Transaction)作为单个逻辑工作单元执行的一系列操作。
这些操作都是作为一个整体一起向系统提交,要么都执行,要么都不执行。
特点:
- 原子性:一个完整操作。
- 一致性:当事务完成时,数据必须处于一致状态。
- 隔离性:对数据修改的所有并发事务是隔离的。
- 永久性:事务完成后,对数据库的修改是永久保持的。
语句
- 提交:commit()
- 回退:rollback()
- 禁止自动提交:setAutoCommit(false)
Demo:
/*
* 事务插入两条记录,一条增加数值,一条减少,总和为0
*/
public static void transAddAndSub(String name, int num)
throws SQLException {
Connection con = DBUtil.GetConnection();
con.setAutoCommit(false);
JDBCModel m1 = new JDBCModel();
m1.name = name;
m1.addCount = num;
JDBCModel m2 = new JDBCModel();
m2.name = name;
m2.subCount = num;
try {
addJDBC(m1);
addJDBC(m2);
con.commit();
} catch (Exception e) {
con.rollback();
e.printStackTrace();
}
}