dbUtils 工具类介绍
- 导包:
commons-dbutils.jar
- 核心类:
QueryRunner
- 常用方法:
// 执行增,删,改语句, 返回影响的行数
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 工具类介绍的更多相关文章
- Java基础-DButils工具类(QueryRunner)详解
Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...
- Java学习笔记49(DBUtils工具类二)
上一篇文章是我们自己模拟的DBUtils工具类,其实有开发好的工具类 这里使用commons-dbutils-1.6.jar 事务的简单介绍: 在数据库中应用事务处理案例:转账案例 张三和李四都有有自 ...
- 30_java之DButils工具类
01DButils工具类的介绍个三个核心类 * A: DButils工具类的介绍个三个核心类 * a: 概述 * DBUtils是java编程中的数据库操作实用工具,小巧简单实用. * DBUtils ...
- DBUtils工具类和DBCP连接池
今日内容介绍 1.DBUtils2.处理结果集的八种方式3.连接池4.连接池的用法1 PrepareStatement接口预编译SQL语句 1.1 预处理对象 * 使用PreparedStatemen ...
- DBUtils工具类的使用
DBUtils工具类1.DBUtils工具类,由apache组织提供的工具类,对JDBC做了一些简单封装. 做了查询的封装,把查询的结果封装到List集合 Map集合 JavaBean对象中 做了增删 ...
- java使用dbutils工具类实现小程序 管家婆记账软件
1.所需创建的包和 jar包 2.创建表结构 #生成一些表数据 ,,'交通银行','2016-03-02','家庭聚餐'); ,,'现金','2016-03-15','开工资了'); ,,'现金', ...
- Java语言Lang包下常用的工具类介绍_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 无论你在开发哪中 Java 应用程序,都免不了要写很多工具类/工具函数.你可知道,有很多现成的工具类可用,并且代码质量都 ...
- Apache Commons 工具类介绍及简单使用
转自:http://www.cnblogs.com/younggun/p/3247261.html Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下 ...
- Apache Commons 工具类介绍及简单使用(转载)
原文链接 http://www.cnblogs.com/younggun/p/3247261.html Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动 ...
随机推荐
- C# NPOI操作Excel(上)
NPOI 官网下载DLL:http://npoi.codeplex.com/releases 1.读取Excel转为DataTable /// <summary> /// 读取excel转 ...
- Autofc与Mvc,WebForm,Weiapi,Owin整合源码分析
主要分析一下的几个项目: Autofac.Integration.Mvc Autofac.Integration.WebApi Autofac.Integration.Owin Autofac.Int ...
- win10 rabbitMQ的安装与测试
安装 1.首先,下载并运行Erlang for Windows 安装程序 (地址:http://www.erlang.org/downloads)下载完毕并安装(注意:安装目录请选择默认目录) 2.下 ...
- 【ODPS】UDF基础
UDF全称User Defined Function,即用户自己定义函数.ODPS提供了非常多内建函数来满足用户的计算需求,同一时候用户还能够通过创建自己定义函数来满足 不同的计算需求. UDF ...
- Atitit..net clr il指令集 以及指令分类 与指令详细说明
Atitit..net clr il指令集 以及指令分类 与指令详细说明 1.1. .NET CLR 和 Java VM 都是堆叠式虚拟机器(Stack-Based VM), 1 1.2. 查看工具 ...
- PILE读书笔记_标准I/O
在学习和分析标准I/O库的同时, 可以重点与Linux的I/O系统调用进行比较. stdin. stdout和stderr都是FILE类型的文件指针, 是由C库静态定义的, 直接与文件描述符0. 1和 ...
- mount rootfs
主要用到的命令为pivot_root,可man 8 pivot_root了解用法. 1. pivot_root - change the root filesystem pivot_root new_ ...
- 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 ...
- 记录下push推送优化改进点
一)自主研发的push服务的特点及优势: 1) 消息回执确认(ack); 2) 有效期推送(设置消息的有效期); 3) 精准推送(设置设备组别推送); 4) 下发任务分解(拆分任务,多进程); 5) ...
- get方式请求乱码
-----------------jsp--------------- var search = $("#searchName").val();search = encodeURI ...