数据库操作时,有时会发生异常,比如同时向两个表中插入数据,就有可能发生冲突,第一条数据可能插入成功,而第二条数据可能插入失败抛出异常。这时,不完整的数据对我们来说是非常危险的。所以,为了控制这种风险。可以采取事务来管理sql的执行。
事务最大的特点就是要么都执行,要么都不执行。
直接上个简单的例子:
1:获取数据库连接
2:执行sql
3:事务管理
事务管理中,setAutoCommit(boolean)
方法是用来控制事务是否自动提交,在这里我们设置为false,执行完插入方法后,统一commit()
提交。如果捕获异常,则对事物进行回滚操作rollback()
,通俗讲就是撤销所有数据库操作。这样就保证了数据库数据的统一,即要么都插入成功,要么都没插入。在各种表的关联中,这种统一是非常重要的。
最后,别忘了关闭资源。