MapHandler和MapListHandler
MapHandler和MapListHandler类是将结果集数据存成Map映射。接下来创建类ResultSetTest6,演示MapHandler的使用方法,具体如例1所示:
例1 ResultSetTest6.java
 1  package cn.itcast.jdbc.example.dao;
 2  import java.sql.SQLException;
 3  import java.util.Map;
 4  import org.apache.commons.dbutils.handlers.MapHandler;
 5  public class ResultSetTest6 {
 6    public static void testMapHandler() throws SQLException {
 7      BaseDao basedao = new BaseDao();
 8      String sql = "select * from user where id=?";
 9      Map map = (Map) basedao.query(sql, new MapHandler(), 1);
 10     System.out.println(map);
 11   }
 12   public static void main(String[] args) throws SQLException {
 13     testMapHandler();
 14   }
 15 }
运行类ResultSetTest6,输出结果如图1所示。

图1 运行结果
由输出结果可以看出,MapHandler成功的将结果集数据存成Map映射,Map中的“键”为数据库的字段,而“值”为对应字段的数据。接下来在类ResultSetTest6中再写一个方法testMapListHandler(),具体代码如例2所示。
例2 ResultSetTest6.java
 1  package cn.itcast.jdbc.example.dao;
 2  import java.sql.SQLException;
 3  import java.util.List;
 4  import java.util.Map;
 5  import org.apache.commons.dbutils.handlers.MapHandler;
 6  import org.apache.commons.dbutils.handlers.MapListHandler;
 7  public class ResultSetTest6 {
 8    public static void testMapHandler() throws SQLException {
 9      BaseDao basedao = new BaseDao();
 10     String sql = "select * from user where id=?";
 11     Map map = (Map) basedao.query(sql, new MapHandler(), 1);
 12     System.out.println(map);
 13   }
 14  
 15    public static void testMapListHandler() throws SQLException {
 16       BaseDao basedao = new BaseDao();
 17       String sql = "select * from user ";
 18       List list = (List) basedao.query(sql,new MapListHandler());
 19         System.out.println(list);
 20     }
 21  
 22   public static void main(String[] args) throws SQLException {
 23     //testMapHandler();
 24     testMapListHandler();//调用新添加的方法
 25   }
 26 }
运行ResultSetTest6类,输出结果如图2所示。

图2 运行结果
由输出结果可以看出,MapListHandler类成功的将每一行结果集存成一个Map,并将所有Map存成list。
