当前位置: 代码迷 >> 综合 >> 4天贯通JDBC技术
  详细解决方案

4天贯通JDBC技术

热度:16   发布时间:2024-01-22 01:12:43.0

九、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

  相关解决方案