Issue Details (XML | Word | Printable)

Key: DBUTILS-25
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Unassigned
Reporter: Piotr Lakomy
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Commons DbUtils

[dbutils] Proposal for a set of new ResultSetHandlers

Created: 28/Sep/04 11:07 AM   Updated: 02/Jan/08 07:29 AM
Return to search
Component/s: None
Affects Version/s: 1.0
Fix Version/s: 1.1

Time Tracking:
Not Specified

File Attachments:
  Size
Zip Archive new-map-handlers.zip 2004-09-28 11:08 AM Piotr Lakomy 11 kB
Environment:
Operating System: All
Platform: All

Bugzilla Id: 31446


 Description  « Hide
Add set of ResultSetHandlers that return a Map instead of List.

For each row, key is determined (default is first column, user can specify
column index/name in constructor). Next the row is converted to scalar,
Array, Map or bean and stored in the Map under key.

object Array Map Bean
----------------- ---------------- -------------- ---------------
ColumnMapHandler ArrayMapHandler MapMapHandler BeanListHandler

Examples:

String; sql = "select user_id, user_name, last_login from passwd";
Map users = (Map)run.query(
"select user_id, user_name from passwd",
new ColumnMapHandler());
System.out.println(users.get("usr007"));

Map users = (Map)run.query(sql, new ArrayMapArray());
System.out.println(users.get("usr007")[2]);

Map users = (Map)run.query(sql, new MapMapArray());
System.out.println(users.get("usr007").get("last_login"));

Map users = (Map)run.query(sql, new MapBeanArray(TestBean.class));
System.out.println(users.get("usr007").getLastLogin());

Implementation note:
Map implementation is LinkedHashMap. This class does preserve order of
insertions, thus, the sorting can be done in sql. However this
class is @since 1.4.

Attached is source code (based on HEAD) and test cases.



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Henri Yandell made changes - 16/May/06 09:46 AM
Field Original Value New Value
issue.field.bugzillaimportkey 31446 12341757
Henri Yandell made changes - 16/May/06 11:29 AM
Key COM-1605 DBUTILS-25
Project Commons [ 12310458 ] Commons DbUtils [ 12310470 ]
Assignee Jakarta Commons Developers Mailing List [ commons-dev@jakarta.apache.org ]
Component/s DbUtils [ 12311110 ]
Affects Version/s 1.0 Final [ 12311651 ]
Henri Yandell made changes - 16/May/06 12:20 PM
Affects Version/s 1.0 Final [ 12311724 ]
Henri Yandell made changes - 06/Jul/06 11:36 AM
Fix Version/s 1.1 [ 12311973 ]
Henri Yandell made changes - 02/Jan/08 07:29 AM
Status Resolved [ 5 ] Closed [ 6 ]