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/09/28 06:07:26 UTC
DO NOT REPLY [Bug 31446] New: -
Proposal for a set of new ResultSetHandlers.
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=31446>.
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=31446
Proposal for a set of new ResultSetHandlers.
Summary: Proposal for a set of new ResultSetHandlers.
Product: Commons
Version: 1.0 Final
Platform: All
OS/Version: All
Status: NEW
Severity: Enhancement
Priority: Other
Component: DbUtils
AssignedTo: commons-dev@jakarta.apache.org
ReportedBy: piotrl@cft-inc.net
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.
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org