JDBC学习笔记(三)

事务:

原子性

一致性

隔离性

JDBC中对事务的支持

JDBC默认是每执行一条sql语句都会提交事务。这对于批量处理数据来说性能开销过大。而且不满足事务本该管理的原则-上述三点。

1:阻止事务自动提交

conn.setAutoCommit(false); //不自动提交

2:conn.commit(); //提交事务

3:conn.rollback(); //回滚

批处理sql

Statement的一个方法addBatch(String sql)方法。

该方法可以将给定的sql存入Statement的命令列表中缓存。

当执行executeBatch()方法时,Statement会将命令列表中缓存的所有sql语句一次性提交给数据库。这可以有效的减少网络通信带来的性能消耗。

clearBatch()用于清空命令列表中缓存的所有sql语句。

PreparedStatement也支持批处理。原理相同addBatch()不带参数,向命令列表添加一条sql语句

封装事务

java提供了一个类ThreadLocal

该类的作用是,在同一线程中的不同模块间共享数据。数据共享是根据线程区分的。不同线程间不共享数据。

多线程共享数据:

单例模式。

猜你喜欢

转载自blog.csdn.net/qq_38826019/article/details/81149442