事务,也是数据库事务,指的是作为单个逻辑工作单元执行的一系列操作。正常的情况下,操作应该顺利进行,与操作相关的所有数据库信息也成功地更新;
但是,如果在这一系列过程中任何一个环节出了差错,导致操作失败了,数据库中所有信息都必须保持操作前的状态不变。否则,数据库的信息将会一片混乱而不可预测。
一个逻辑工作单元要称为事务,必须满足ACID(原子性,一致性,隔离性和持久性)
事务的结束只能有两种形式:提交和回滚。操作完全成功则提交,产生永久性的修改;操作不完全成功则回滚,恢复到事务开始前的状态。它们将结束一个事务。
(1)关闭自动提交事务。通过设置连接的自动提交事务属性为false,如下:
Connection conn = DriverManager.getConnection(
"连接URL"
,
"用户名"
,
"密码"
);
//关闭自动提交事务
conn.setAutoCommit(
false
);
|
(2)如果执行顺利,提交事务;一旦发生异常,回滚(rollback)事务,如下:
try
{
conn.setAutoCommit(
false
);
//关闭自动提交事务
stmt = conn.createStatement();
//创建会话
stmt.executeUpdate(
"sql语句"
);
conn.commit();
//提交事务
}
catch
(Exception e)
{
e.printStackTrace();
conn.rollback();
//回滚事务
}
|
(3)关闭连接,如下:
finally
{
if
(stmt !=
null
)
stmt.close();
if
(conn !=
null
)
conn.close();
}