鍍金池/ 問答/Java/ 數(shù)據(jù)庫 關(guān)于setString()和addBatch();的理解問題

數(shù)據(jù)庫 關(guān)于setString()和addBatch();的理解問題

clipboard.png

不理解setString()和addBatch();的對(duì)象為什么都是statement?
1.我的理解是statement是一條記錄。而setXXX()是修改這條記錄,而addBatch()執(zhí)行把statement這條記錄加入某個(gè)全局記錄數(shù)組,是這樣嗎?
2.那為什么不是addBatch(statement);這樣還明了。還有statement.executeBatch()由一條記錄引發(fā)批插入也覺得有些怪異

回答
編輯回答
忘了我

addBatch相當(dāng)于把當(dāng)前設(shè)置的值壓入棧

看見源碼,一目了然

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...

2017年4月21日 06:50