org.apache.commons.dbutils.handlers
クラス KeyedHandler

java.lang.Object
  上位を拡張 org.apache.commons.dbutils.handlers.KeyedHandler
すべての実装されたインタフェース:
ResultSetHandler

public class KeyedHandler
extends java.lang.Object
implements ResultSetHandler

ResultSetHandler implementation that returns a Map of Maps. ResultSet rows are converted into Maps which are then stored in a Map under the given key. Although this implementation uses Maps to store row contents, subclasses are encouraged to override the createRow() method to convert the rows into any kind of object.

If you had a Person table with a primary key column called ID, you could retrieve rows from the table like this:

 ResultSetHandler h = new KeyedHandler("id");
 Map found = (Map) queryRunner.query("select id, name, age from person", h);
 Map jane = (Map) found.get(new Long(1)); // jane's id is 1
 String janesName = (String) jane.get("name");
 Integer janesAge = (Integer) jane.get("age");
 
Note that the "id" passed to KeyedHandler and "name" and "age" passed to the returned Map's get() method can be in any case. The data types returned for name and age are dependent upon how your JDBC driver converts SQL column types from the Person table into Java types.

To avoid these type issues you could subclass KeyedHandler and override createRow() to store rows in Java bean instances (ie. a Person class).

This class is thread safe.

導入されたバージョン:
DbUtils 1.1
関連項目:
ResultSetHandler

コンストラクタの概要
KeyedHandler()
          Creates a new instance of KeyedHandler.
KeyedHandler(int columnIndex)
          Creates a new instance of KeyedHandler.
KeyedHandler(RowProcessor convert)
          Creates a new instance of KeyedHandler.
KeyedHandler(java.lang.String columnName)
          Creates a new instance of KeyedHandler.
 
メソッドの概要
 java.lang.Object handle(java.sql.ResultSet rs)
          Convert each row's columns into a Map and store then in a Map under ResultSet.getObject(key) key.
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

KeyedHandler

public KeyedHandler()
Creates a new instance of KeyedHandler. The value of the first column of each row will be a key in the Map.


KeyedHandler

public KeyedHandler(RowProcessor convert)
Creates a new instance of KeyedHandler. The value of the first column of each row will be a key in the Map.

パラメータ:
convert - The RowProcessor implementation to use when converting rows into Maps

KeyedHandler

public KeyedHandler(int columnIndex)
Creates a new instance of KeyedHandler.

パラメータ:
columnIndex - The values to use as keys in the Map are retrieved from the column at this index.

KeyedHandler

public KeyedHandler(java.lang.String columnName)
Creates a new instance of KeyedHandler.

パラメータ:
columnName - The values to use as keys in the Map are retrieved from the column with this name.
メソッドの詳細

handle

public java.lang.Object handle(java.sql.ResultSet rs)
                        throws java.sql.SQLException
Convert each row's columns into a Map and store then in a Map under ResultSet.getObject(key) key.

定義:
インタフェース ResultSetHandler 内の handle
パラメータ:
rs - The ResultSet to handle. It has not been touched before being passed to this method.
戻り値:
A Map of Maps, never null.
例外:
java.sql.SQLException - if a database access error occurs
関連項目:
ResultSetHandler.handle(java.sql.ResultSet)