getAutoCommit作用

来源:百度知道 编辑:UC知道 时间:2024/05/29 22:06:42
API这样写的:检索此 Connection 对象的当前自动提交模式。 但我不明白是什么意思

就是去查询此 Connection 对象的提交是不是自动提交。
如果是的话,那每查询一次、或者更新一次、或者插入一条数据,就提交到数据库了,回滚不了。
如果不是的话,就可以开启事务了。

setAutoCommit
void setAutoCommit(boolean autoCommit)
throws SQLException将此连接的自动提交模式设置为给定状态。如果连接处于自动提交模式下,则它的所有 SQL 语句将被执行并作为单个事务提交。否则,它的 SQL 语句将聚集到事务中,直到调用 commit 方法或 rollback 方法为止。默认情况下,新连接处于自动提交模式。
提交发生在语句完成时。语句完成的时间取决于 SQL 语句的类型:

对于 DML 语句(比如 Insert、Update 或 Delete)和 DDL 语句,语句在执行完毕时完成。
对于 Select 语句,语句在关联结果集关闭时完成。
对于 CallableStatement 对象或者返回多个结果的语句,语句在所有关联结果集关闭并且已获得所有更新计数和输出参数时完成。
注:如果在事务和自动提交模式更改期间调用此方法,则提交该事务。如果调用 setAutoCommit 而自动提交模式未更改,则该调用无操作(no-op)。

参数:
autoCommit - 为 true 表示启用自动提交模式;为 false 表示禁用自动提交模式
抛出:
SQLException - 如果发生数据库访问错误,在参与分布式事务的同时调用 setAutoCommit(true),或者在关闭的连接上调用此方法
另请参见:
getAutoCommit()

-----------
明白了吗?