数据库 关于setString()和addBatch();的理解问题

clipboard.png

不理解setString()和addBatch();的对象为什么都是statement?
1.我的理解是statement是一条记录。而setXXX()是修改这条记录,而addBatch()执行把statement这条记录加入某个全局记录数组,是这样吗?
2.那为什么不是addBatch(statement);这样还明了。还有statement.executeBatch()由一条记录引发批插入也觉得有些怪异

阅读 2.2k
1 个回答

addBatch相当于把当前设置的值压入栈

看见源码,一目了然

713     public synchronized void addBatch(String sql) throws SQLException {
714         if (batchedArgs == null) {
715             batchedArgs = new ArrayList();
716         }
717 
718         if (sql != null) {
719             batchedArgs.add(sql);
720         }
721     }

参见: http://kickjava.com/src/com/m...

PreparedStatement.java


1187    public void addBatch() throws SQLException  JavaDoc {
1188        if (batchedArgs == null) {
1189            batchedArgs = new ArrayList  JavaDoc();
1190        }
1191
1192        batchedArgs.add(new BatchParams(parameterValues, parameterStreams,
1193                isStream, streamLengths, isNull));
1194    }

http://kickjava.com/src/com/m...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题