1.事务小议
事务指逻辑上的一组操作,组成这组操作的各单元要么全部成功,要么全部不成功。
例如A——B转账,对于如下两条SQL语句:
update from account set money=money+100 where name='b';
update from account set money=money-100 where name='a';
通常事务具有如下几大特性:
原子性——原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
一致性——事务必须是数据库从一个一致性状态换到另一个以后仔细状态。
隔离性——事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
持久性——持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响。
如何使用JDBC管理事务?当一个连接对象被创建时,默认情况下JDBC是自动提交事务:每次执行一个SQL语句时,如果执行成功,就会向数据库自动提交,而不能回滚
,如想多条SQL在同一事务中,可使用如下语句
将自动提交设置为false
Connection.setAutoCommit(false);
设置事务回滚
Connection.rollbcak();
提交事务
Connection.commit();
public class SQLTest2 {
public static void main(String[] args) {
String name = "sun";
String password = "1234" ;//拼接,从而通过数据库的检查
new SQLTest2().mysql(name, password);
}
private void mysql(String name, String password) {
Connection conn = null;
PreparedStatement pstmt = null;
<