九、DBUtils
提供了QueryRunner类,类中有诸多重载update() 和 query()方法,供使用,用于堆数据库实现操作:增删改查
public class TestDBUtils {
QueryRunner runner = new QueryRunner();
// ScalarHandler:用于查询其他的一些信息,比如表中的记录数,薪资最高的员工姓名。
//因为返回的类型不确定,故使用Object接收
@Test
public void testScalarHandler() {
Connection conn = null;
try {
conn = JDBCUtils.getConnection5();
//String sql = "select count(*) from customers";
String sql = "select min(birth) from customers";
ResultSetHandler<Object> handler = new ScalarHandler();
//long count = (long) runner.query(conn, sql, handler);
Date d = (Date)runner.query(conn, sql, handler);
System.out.println(d);
} catch (Exception e) {
e.printStackTrace();
} finally {
// “关闭连接”,实际上是对conn的释放
JDBCUtils.close(null, null, conn);
}
}
// MapListHandler
@Test
public void testMapListHandler() {
Connection conn = null;
try {
conn = JDBCUtils.getConnection5();
String sql = "select id,name,email,birth from customers where id < ?";
ResultSetHandler<List<Map<String, Object>>> handler = new MapListHandler();
// MapListHandler handler = new MapListHandler();
List<Map<String, Object>> maps = runner.query(conn, sql, handler,
12);
System.out.println(maps);
} catch (Exception e) {
e.printStackTrace();
} finally {
// “关闭连接”,实际上是对conn的释放
JDBCUtils.close(null, null, conn);
}
}
// MapHandler:返回数据库中一条记录,key为记录的列的列名,value为记录的列的值。一条记录
// 的多个列构成了多个key-value,组成了一个map
@Test
public void testMapHandler() {
Connec