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。