ResultSetHandler rsh1 = new ScalarHandler(1);//1カラム目を返すように指示
Integer num = (Integer)qr.query("SELECT COUNT(*) FROM ITEMS", rsh1);
// 1レコードのデータをカラム名をキーとして1つのMapインスタンスに格納し、全レコードについてそれらをまとめてListとして返すように指示
ResultSetHandler rsh2 = new MapListHandler();
List list1 = (List)qr.query("SELECT * FROM ITEMS", rsh2);
//1レコードのデータを1つのObject[]配列に格納し、全レコードについてそれらをまとめてListとして返すように指示
ResultSetHandler rsh3 = new ArrayListHandler();
List list2 = (List)qr.query("SELECT * FROM ITEMS", rsh3);
%>
<html>
<head><title>DbUtils ScalarArrayMapHandler sample</title></head>
<body>
ITEMSは全部で<%= num %>種類あります。
<table border="1">
<tr><th>ID</th><th>Name</th></tr>
<%
for (Iterator i = list2.iterator(); i.hasNext(); ) {
Object[] a = (Object[])i.next();
%>
<tr><td><%= (Integer)a[0] %></td>
<td><%= (String)a[1] %></td></tr>
<%
}
%>
</table>
<table border="1">
<tr><th>ID</th><th>Name</th></tr>
<%
for (Iterator i = list1.iterator(); i.hasNext(); ) {
Map m = (Map)i.next();
%>
<tr><td><%= m.get("ID") %></td>
<td><%= m.get("Name") %></td></tr>
<%
}
%>
</table>