DBUtils如何使用

    科技2026-04-11  4

    dbutils的查询,主要用到的是query方法,增加,修改和删除都是update方法,update方法就不讲了 query (String sql,ResultSetHandler rsh) Executes the given SELECT SQL without any replacement parameters.

    只要创建ResultSetHandler接口不同的实现类对象就可以得到想要的查询结果,该接口的实现类有 All Known Implementing Classes: AbstatKeyedHande, Abstracll sHander, ArayHander ArayistHanler,BaseResutSseHlander BeanHandler. Beant stiandler,BeanMaphHandier. Columnl istHandler, KeyedHandler MapHandier MapListHandler, ScalarHandler

    ArrayHandler类: 把结果集的’第一行’记录封装成数组 测试代码: QueryRunner qr = new QueryRunner(dataSource); String sql = “select * from user”; Object[] objArr = qr.query(sql, new ArrayHandler());}

    ArrayListHandler类: 把结果集的每一行封装到一个数组中,然后把这些数组放到一个集合中返回 测试代码: QueryRunner qr = new QueryRunner(dataSource); String sql = “select * from user”; List<Object[]> list = qr.query(sql, new ArrayListHandler());}

    BeanHandler类: 把结果集的’第一行’记录作为一个javaBean对象返回(前提:结果集的字段名(可以用取别名) 和 javaBean的属性名保持一致) 测试代码: QueryRunner qr = new QueryRunner(dataSource);String sql = “select * from user”;User user = qr.query(sql, new BeanHandler(User.class));

    BeanListHandler类: 把结果集的每一行封装成一个javaBean对象,然后把这些对象放入到一个List集合中返回 测试代码: QueryRunner qr = new QueryRunner();String sql = “select * from user”;List userList = qr.query(conn, sql, new BeanListHandler(User.class));

    ScalarHandler类: 返回’结果集’中第一行的某个值, 具体视构造方法的参数而定, 返回值类型视表中字段的类型而定有3个构造方法, 用于聚合查询比较好 new ScalarHandler(); 返回结果集中第一行第一列的值 new ScalarHandler(int columnIndex); 返回结果集中第一行第columnIndex列的值(列从1开始计算) new ScalarHandler(String columnName); 返回结果集中第一行名字为columnName的值 测试代码: QueryRunner qr = new QueryRunner();String sql = “select id, username, hobby as hob from user”; Integer obj1 = qr.query(conn, sql, new ScalarHandler()); //结果集中第一行第一列的值 String obj2 = qr.query(conn, sql, new ScalarHandler(2)); //结果集中第一行第2列的值 String obj3 = qr.query(conn, sql, new ScalarHandler(“hob”)) //结果集中第一行名字为hob

    ColumnListHandler类: 将结果集中某一列的数据存放到List中, 与上面ScalarHandler类似的有3个构造方法 测试代码: QueryRunner qr = new QueryRunner();String sql = “select * from user”; // List idList = qr.query(conn, sql,new ColumnListHandler()); // List idList = qr.query(conn, sql, new ColumnListHandler(“hobby”)); List list = qr.query(conn, sql, new ColumnListHandler(4));

    MapHandler: 将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值 测试代码: QueryRunner qr = new QueryRunner();String sql = “select * from user”;Map<String, Object> map = qr.query(conn, sql, new MapHandler());

    MapListHandler: 将结果集中的每一行数据都封装到一个Map里,然后再存放到List 测试代码: QueryRunner qr = new QueryRunner();String sql = “select * from user”;List<Map<String, Object>> listMap = qr.query(conn, sql, new MapListHandler());

    Processed: 0.010, SQL: 9