Uploaded image for project: 'Commons DbUtils'
  1. Commons DbUtils
  2. DBUTILS-25

[dbutils] Proposal for a set of new ResultSetHandlers

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.0
    • 1.1
    • None
    • Operating System: All
      Platform: All

    • 31446

    Description

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            piotrl@cft-inc.net Piotr Lakomy
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: