JDBC高级编程
1、事务简介
事务(Transaction):数据库中保证交易可靠的机制
JDBC支持数据库中的事务概念
在JDBC中,事务默认是自动提交
事务特性ACID:
原子性(Atomicity):事务必须是原子工作单位;对于数据修改,要么全都执行,要么全都不执行
一致性(Consistency):事务在完成时,必须使所有的数据都保持一致状态
隔离性(Isolation):用并发事务所作的修改必须与任何其他并发事务所作的修改隔离
持久性(Durability):事务完成之后,它对于系统的影响是永久的
事务是数据库的概念,JDBC支持事务,本质还是在数据库中实现的
2、JDBC事务API
相关API:
Connection.getAutoCommit();获取当前事务提交方式,默认为true
Connection.setAutoCommit():设置事务的提交属性,参数是
true:自动提交;false:不自动提交
Connection.commit():提交事务
Connection.rollback():回滚事务
3、批量更新的优势
批处理:发送到数据库作为一个单元执行的一组更新语句
批处理降低了应用程序和数据库之间的网路调用
相比单个SQL语句的处理,批处理更为有效
4、批量更新API
addBatch(String sql)
Statement类的方法,可以将多条sql语句添加Statement对象的SQL语句列表中
addBatch()
PreparedStatement类的方法,可以讲多条预编译的sql语句添加到PreparedStatement对象的SQL语句列表中
executeBatch()
把Statement对象或PreparedStatement对象语句列表中的所有SQL语句发送给数据库处理
clearBatch()
清空当前SQL语句列表
5、防止OutOfMemory
如果PreparedStatement对象中的SQL列表包含过多的待处理SQL语句,可能会产生OutOfMemory错误
及时处理SQL语句列表
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。