You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by bu...@apache.org on 2004/03/09 04:13:44 UTC

DO NOT REPLY [Bug 27530] New: - Add QueryRunner.batch()

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=27530>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=27530

Add QueryRunner.batch()

           Summary: Add QueryRunner.batch()
           Product: Commons
           Version: 1.0 Final
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Enhancement
          Priority: Other
         Component: DbUtils
        AssignedTo: commons-dev@jakarta.apache.org
        ReportedBy: dgraham@apache.org


>From commons-dev:

Adkins Kendall wrote:
Has any consideration been given to adding batch update capability?  
For
instance, the following method could be added to the QueryRunner class:

/**
 * Execute a batch of SQL INSERT, UPDATE, or DELETE queries.
 * 
 * @param conn The connection to use to run the query.
 * @param sql The SQL to execute.
 * @param params An array of query replacement parameters.
 * @return The number of rows updated per statement.
 * @throws SQLException
 */
public int[] batchUpdate(Connection conn, String sql, Object[][] 
params)
	throws SQLException {
	PreparedStatement stmt = null;
	int[] rows = null;
	try {
		stmt = this.prepareStatement(conn, sql);
		
		for(int i = 0; i < params.length; i++) {
			this.fillStatement(stmt, params[i]);
			stmt.addBatch();
		}
		rows = stmt.executeBatch();
	} catch (SQLException e) {
		this.rethrow(e, sql, params);
	} finally {
		DbUtils.close(stmt);
	}
	return rows;
}


David Graham wrote:
I'm fine with adding this to query runner but executeBatch() is marked 
as
@since 1.3 so we would need to bump DbUtils' minimum Java level.  I 
would
shorten the method name to batch() so we would have query(), update() 
and
batch() and of course some test cases are needed.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org