[ 
https://issues.apache.org/jira/browse/DBUTILS-129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Huffman updated DBUTILS-129:
-----------------------------------
    Attachment: dbutils-129.patch

This patch adds methods to QueryRunner that take Collections rather than arrays 
of parameters. The existing methods that take arrays were re-implemented in 
terms of the new methods. A new test class was added to test the new methods.

Because the deprecated methods in QueryRunner were touched, I also added 
another test class to test them. Previously they were untested, I believe.

> Add methods to QueryRunner that take Collections or Iterables
> -------------------------------------------------------------
>
>                 Key: DBUTILS-129
>                 URL: https://issues.apache.org/jira/browse/DBUTILS-129
>             Project: Commons DbUtils
>          Issue Type: Improvement
>            Reporter: Robert Huffman
>         Attachments: dbutils-129.patch
>
>
> If a prepared statement is built dynamically, with a variable number of 
> parameters, and parameters are in a Collection of some sort instead of an 
> array, usage QueryRunner requires that the collection be converted to an 
> array first. This means the parameters are iterated twice: once to convert to 
> an array and once again in QueryRunner.fillStatement.
> It should be straightforward to add insert, execute, and update methods that 
> take Collections. The methods that take arrays can then be re-implemented 
> using the inexpensive Arrays.asList and invoking the new methods.
> It would probably be preferable to take Iterables instead of Collections. 
> However, the current implementation of AbstractQueryRunner.fillStatement 
> requires up-front knowledge of the size of the parameter set passed to it, 
> and that is not easily obtained from the Iterable interface. To allow 
> iterables that method would have to be refactored.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to