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语句列表

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。