1 package com.imcode.db.commands; 2 3 import com.imcode.db.DatabaseCommand; 4 import com.imcode.db.DatabaseConnection; 5 import com.imcode.db.DatabaseException; 6 import org.apache.commons.dbutils.ResultSetHandler; 7 import org.apache.commons.lang.ArrayUtils; 8 9 public class SqlQueryDatabaseCommand implements DatabaseCommand { 10 11 private final String sql; 12 private final Object[] parameters; 13 private final ResultSetHandler resultSetHandler; 14 15 public SqlQueryDatabaseCommand( String sql, Object[] parameters, ResultSetHandler resultSetHandler ) { 16 this.sql = sql; 17 this.parameters = parameters; 18 this.resultSetHandler = resultSetHandler; 19 } 20 21 public Object executeOn( DatabaseConnection connection ) throws DatabaseException { 22 return connection.executeQuery( sql, parameters, resultSetHandler ); 23 } 24 25 public String toString() { 26 return "query "+sql+" "+ArrayUtils.toString( parameters ) ; 27 } 28 }