什么是事务?
事务(Transaction),一般是指要做的或所做的事情,在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元.事务通常由高级数据库曹总语言或编程语言书写并用形式如begin transaction和end tranaction语句来界定,事务由事务开始和事务结束之间执行的全体操作组成
为什么要事务?
事务事务是为解决数据操作提出的,其实就是控制数据的安全访问
比如银行的提款不可能让你在两处不同地方同时提所有款的时候提出两笔钱.
事务的四个特性
原子性: 事务是数据库逻辑工作单位,而且是必须是源自工作单位,对于其数据修改,要么全部执行,要不全不执行.
一致性: 事务在完成时,必须所有的数据都保持一直状态,在相关数据库中所有规则都必须应用于事务的修改,以保持所有数据的完整性.
隔离性: 一个事务的执行不能被其他事务所影响.
持久性: 一个事务一旦提交,事务的操作永久性的保存在DB中,几遍在数据库系统遇到故障的情况下也不会丢失提交事务的操作.
JDBC事务
在JDBC中处理事务,都是通过Connection完成的,同一事务中所有的操作,都在使用同一个Connection对象.JDBC事务默认是开启的,并且默认提交.
JDBC Connection接口提供了两种事务模式:自动提交和手工提交
JDBC中的事务java.sql.Connection的三个方法与事务有关:
setAutoCommt(bolean): 设置是否自动提交事务,如果true(默认true)表示自动提交,也就是每条执行的SQL语句都是一个单独的事务,如果设置为false,需要手动提交事务.
commit(): 提交结束事务
rollback(): 回滚事务
传统JDBC操作流程:
(1) 获取JDBC连接
(2) 声明SQL
(3) 预编译SQL</