提交模式

应用程序创建一个连接时,该连接默认事务自动提交,即每执行一次SQL语句,该SQL语句就被认为是一个事务,而被自动提交了。如果用户需要将多条语句包含在一个事务中,那么用户就要改变自动提交模式。用户可以在Connection对象中设置事务提交模式(分为自动提交和非自动提交两种),方法如下:

Connection.setAutoCommit(boolean autoCommit);

当autoCommit为true时,表示为自动提交模式,这种情况下,该连接下的所有语句在执行完之后都会自动提交。当autoCommit为false是,为非自动提交模式。

在非自动提交模式下,用户在一个事务执行完成之后需要显式调用Connection.commit()方法来提交事务。方法如下:

conn.commit();

当该事务需要回滚时,则需要显式调用Connection.rollback()方法。

conn.rollback();

当事务执行完被提交或回滚后,驱动程序将自动地认为用户进入了下一个事务,所以在下一个事务执行完SQL语句后,用户必须再次显式的进行提交或回滚操作。也就是说在用户改变事务模式后,该模式状态一直保持不变,直到用户下一次再显式地改变事务模式的状态。