事务:
事务使用来保证数据操作的完整性
- 一个业务由若干个一次性的操作组成,这些操作要么都成功,要么都失败
- 事务的四大特性ACID
- 原子性(Atomicity):不可再分
- 一致性(consistency):事务执行的前后,数据库是一致的
- 隔离性(Isolation):两个事务的操作互不干扰
- 持久性(Durability):事务提交后,结果被永久保存
- JDBC默认是自动提交事务的,将每一条sql语句都当做一个独立的事务执行
- 关闭自动提交事务 conn.setAAutoCommit(false);
- 提交事务 conn.,commit();
- 回滚事务 conn.rollback();
批处理操作
当需要执行的sql语句比较多时,每次发送一条SQL语句并执行的效率比较低,此时可以批量处理SQL。步骤:
- 在url中调价rewriteBatchedStatements=true参数,启用批处理
- 调用addBatch()方法,添加批处理
- 调用executeBatch()方法,执行批处理
区别
事务是在数据库方存储sql,没有提交事务的数据放在数据库的临时表空间。最后一次吧临时表空间中的数据提交到数据库服务器执行,消耗的是数据库服务器内存
批处理底层是在客户端存储SQL,最后一次把客户端存储的数据发送到数据库服务器执行,消耗的是客户端的内存