批处理:
流程说明:
- 首先将利用Connection 对象的 createStatement 方法,建立一个Statement 对象;
- 在开始出入SQL命令至 Batch之前,通常我们会执行 clearBatch 方法,确定Batch之内没有任何的SQL命令;
- 接下来利用addBatch方法,将要执行的SQL 命令储存到 Batch 之中;
- 重复第3步骤直到所有要执行的SQL命令全部加入Batch 之中;
- 最用利用 executeBatch 方法,将 Batch 传送至数据库执行。
---------------------------------------------------------------------------------------
public void addBatch(String sql) throws SQLException
方法说明:插入一个SQL 命令至 Statement 对象的批处理命令中。
1、参数:sql ----- 任何形式的SQL命令。
2、返回值: 无。
3、异常: SQLException ----- 数据库发生任何的错误或者Driver 不支持批处理,则会产生一个SQLException的对象。
4、附加:无。
---------------------------------------------------------------------------------------
public void clearBatch() throws SQLException
方法说明:将Statement 对象中的所有SQL命令清楚。
1、参数:无。
2、返回值: 无。
3、异常: SQLException ----- 数据库发生任何的错误或者Driver 不支持批处理,则会产生一个SQLException的对象。
4、附加:无。
---------------------------------------------------------------------------------------
public int[ ] executeBatch() throws SQLException
方法说明:将Statement 对象中所有的Batch命令传送至数据库执行,数据库执行之后会返回一个整型数组(Integer Array)。数组的每一个元素表示Batch命令中每一个SQL命令执行之后插入或者修改的记录条数。
1、参数:无。
2、返回值:Int[ ] ----- 数组的每一个元素表示Batch命令中每一个SQL命令执行之后插入或者修改的记录条数。
* 数组中每一个元素的值可能有下列三种情况:
- 一个大于0或者等于0的值。表示数据库执行SQL命令成功,元素值为数据库变动记录的条数。
- 一个等于-2的值。表示数据库执行SQL命令成功,但是数据库无法知道影响的记录条数。
- 一个等于-3的值。表示数据库执行SQL命令失败,这个值惟有在当数据库执行一个SQL命令失败后,将继续执行接下来批处理的SQL命令才会产生。
3、异常:
- SQLException ----- 数据库发生任何的错误或者Driver 不支持批处理,则会产生一个SQLException的对象。
- BatchUpdateException ----- BatchUpdateException 是SQLException 的子类,当数据库执行批处理时,在任何一个SQL命令发生错误或者是SQL命令要返回一个 ReusltSet 时,则会产生 BatchUpdateException对象。
4、附加:无。
---------------------------------------------------------------------------------------