1. 导包: commons-dbutils.jar
  2. 核心类: QueryRunner
  3. 常用方法:
// 执行增,删,改语句, 返回影响的行数
int update(String sql,Object... params); // 执行增, 删, 改语句, 但是需要调用者提供 Connection 对象, 支持事务.
int update(Connection ,String sql, Object... params); // 执行查询方法
// 返回值类型为 T, 因为 ResultSetHandler 中的 handle 方法会把 ResultSet 结果集转换为 T 类型
T query(String sql, ResultSetHandler rsh, Object...params); // 执行查询方法, 但是需要调用者提供 Connection 对象, 支持事务
T query(Connection con, String sql, ResultSetHandler rsh, Object... params);

4. ResultSetHandler 接口的实现类

  • 单行结果: BeanHandler(), 构造器需要一个 Class 类型的参数, 用来把一行结果转换成指定类型的 javaBean 对象;
  • 多行结果: BeanListHandler(), 构造器需要一个 Class 类型的参数, 用来把一行结果转换成一个 javaBean,

    若是多行结果, 就转换成 List 对象, 即多个 javaBean;
  • 单行结果: MapHandler(), 把一行结果转换成 Map;
  • 多行结果: MapListHandler(), 把一行记录转换成一个 Map, 若是多行, 就是多个 Map, 即 List;
  • 单行单列: ScalarHandler(), 结果集是单行单列的, 返回一个 Object.

    通常用于 SELECT count(*) FROM t_stu;
单行记录

Map 集合

{sid:1001,sname:zhangsan,age:22,gender:male}

// 示例

    // BeanHandler()  和 MapHandler()
public void fun() throws Exception{
QueryRunner qr = new QueryRunner(JdbcUtils.getDataSource()); String sql = "SELECT * FROM t_stu WHERE sid=?"; Object[] params = {1001}; // BeanHandler()
Stu stu = qr.query(sql,new BeanHandler<Stu>(stu.class),params); System.out.println(stu); // MapHandler()
Map map = qr.query(sql,new MapHandler(),params);
System.out.println(map);
} // BeanListHandler() 和 MapListHandler()
public void fun1() throws SQLException{
QueryRunner qr = new QueryRunner(JdbcUtils.getDataSource()); String sql = "SELECT * FROM t_stu"; // BeanListHandler()
List<Stu> stuList = qr.query(sql, new BeanListHandler<Stu>(Stu.class));
System.out.println(stuList); // MapListHandler()
List<Map<String,Object>> mapList = qr.query(sql, new MapListHandler());
Sytem.out.println(mapList);
} // ScalarHandler()
public void fun2() throws SQLException{
QueryRunner qr = new QueryRunner(JdbcUtils.getDataSource()); String sql = "SELECT COUNT(*) FROM t_stu"; // 此处 obj 类型可能为 Integer, Long, BigInteger
// 但是这三种类型有共同的父类 Number
Number obj = (Number)qr.query(sql,new ScalarHandler()); System.out.println(obj);
}

参考资料:

dbUtils 工具类介绍的更多相关文章

  1. Java基础-DButils工具类(QueryRunner)详解

    Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...

  2. Java学习笔记49(DBUtils工具类二)

    上一篇文章是我们自己模拟的DBUtils工具类,其实有开发好的工具类 这里使用commons-dbutils-1.6.jar 事务的简单介绍: 在数据库中应用事务处理案例:转账案例 张三和李四都有有自 ...

  3. 30_java之DButils工具类

    01DButils工具类的介绍个三个核心类 * A: DButils工具类的介绍个三个核心类 * a: 概述 * DBUtils是java编程中的数据库操作实用工具,小巧简单实用. * DBUtils ...

  4. DBUtils工具类和DBCP连接池

    今日内容介绍 1.DBUtils2.处理结果集的八种方式3.连接池4.连接池的用法1 PrepareStatement接口预编译SQL语句 1.1 预处理对象 * 使用PreparedStatemen ...

  5. DBUtils工具类的使用

    DBUtils工具类1.DBUtils工具类,由apache组织提供的工具类,对JDBC做了一些简单封装. 做了查询的封装,把查询的结果封装到List集合 Map集合 JavaBean对象中 做了增删 ...

  6. java使用dbutils工具类实现小程序 管家婆记账软件

    1.所需创建的包和 jar包 2.创建表结构  #生成一些表数据 ,,'交通银行','2016-03-02','家庭聚餐'); ,,'现金','2016-03-15','开工资了'); ,,'现金', ...

  7. Java语言Lang包下常用的工具类介绍_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 无论你在开发哪中 Java 应用程序,都免不了要写很多工具类/工具函数.你可知道,有很多现成的工具类可用,并且代码质量都 ...

  8. Apache Commons 工具类介绍及简单使用

    转自:http://www.cnblogs.com/younggun/p/3247261.html Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下 ...

  9. Apache Commons 工具类介绍及简单使用(转载)

    原文链接 http://www.cnblogs.com/younggun/p/3247261.html Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动 ...

随机推荐

  1. C# NPOI操作Excel(上)

    NPOI 官网下载DLL:http://npoi.codeplex.com/releases 1.读取Excel转为DataTable /// <summary> /// 读取excel转 ...

  2. Autofc与Mvc,WebForm,Weiapi,Owin整合源码分析

    主要分析一下的几个项目: Autofac.Integration.Mvc Autofac.Integration.WebApi Autofac.Integration.Owin Autofac.Int ...

  3. win10 rabbitMQ的安装与测试

    安装 1.首先,下载并运行Erlang for Windows 安装程序 (地址:http://www.erlang.org/downloads)下载完毕并安装(注意:安装目录请选择默认目录) 2.下 ...

  4. 【ODPS】UDF基础

     UDF全称User Defined Function,即用户自己定义函数.ODPS提供了非常多内建函数来满足用户的计算需求,同一时候用户还能够通过创建自己定义函数来满足 不同的计算需求. UDF ...

  5. Atitit..net clr il指令集 以及指令分类  与指令详细说明

    Atitit..net clr il指令集 以及指令分类  与指令详细说明 1.1. .NET CLR 和 Java VM 都是堆叠式虚拟机器(Stack-Based VM), 1 1.2. 查看工具 ...

  6. PILE读书笔记_标准I/O

    在学习和分析标准I/O库的同时, 可以重点与Linux的I/O系统调用进行比较. stdin. stdout和stderr都是FILE类型的文件指针, 是由C库静态定义的, 直接与文件描述符0. 1和 ...

  7. mount rootfs

    主要用到的命令为pivot_root,可man 8 pivot_root了解用法. 1. pivot_root - change the root filesystem pivot_root new_ ...

  8. Editing a Book UVA - 11212 IDA*

    You have n equal-length paragraphs numbered 1 to n . Now you want to arrange them in the order of 1 ...

  9. 记录下push推送优化改进点

    一)自主研发的push服务的特点及优势: 1) 消息回执确认(ack); 2) 有效期推送(设置消息的有效期); 3) 精准推送(设置设备组别推送); 4) 下发任务分解(拆分任务,多进程); 5) ...

  10. get方式请求乱码

    -----------------jsp--------------- var search = $("#searchName").val();search = encodeURI ...