事务
事务是用户定义的一个操作序列,事务认为这些操作序列是一个不可分割的工作单位
特点
-
原子性 表示事务执行的过程中,用户定义的操作序列要么全部执行成功,要么全部执行失败
-
一致性 表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态,称为事务回滚
-
隔离性 表示事务在执行过程中数据的修改,在事务提交之前其他事务不可见
-
持久性 表示事务完成之后,对系统的影响是持久的,如果已提交的数据在事务执行失败时,数据的状态都应该正确
this.setConnection(); try { //将事务提交方式设置为手动提交 con.setAutoCommit(false); ps = con.prepareStatement("insert into t_set(s_info,s_state,s_roomId)values(?,?,?)"); ps.setString(1, set.getInfo()); ps.setString(2, set.getState()); ps.setInt(3, set.getRoom().getId()); ps.executeUpdate(); ps = con.prepareStatement("update t_room set r_state = ? where r_id = ?"); ps.setString(1, "设施损坏"); ps.setInt(2, set.getRoom().getId()); ps.executeUpdate(); //提交事务 con.commit(); } catch (SQLException e) { try { //事务