Java精选笔记_DBUtils工具
API介绍
为了更加简单地使用JDBC,Apache组织提供了一个工具类库commons-dbutils组件。
该组件实现了对JDBC的简单封装,可以在不影响性能的情况下极大简化JDBC的编码工作量。
commons-dbutils的核心是两个类和一个接口:DBUtils类、QueryRunner类、ResultSetHandler接口
DBUtils类
主要为如关闭连接、装载JDBC驱动程序之类的常规工作提供方法,它提供的方法都是静态方法
close()
closeQuietly(Connection conn,Statement stmt,ResultSet rs)
commitAndCloseQuietly(Connection conn)
loadDriver(java.lang.String driverClassName)
QueryRunner类
简化了执行SQL语句的代码,它与ResultSetHandler组合在一起就能完成大部分的数据库操作,大大减少编码量。针对不同的数据库操作,QueryRunner类提供的不同的方法。
query(Connection conn, String sql, ResultSetHandler rsh,Object[] params)
query(String sql, ResultSetHandler rsh, Object[] params)
query(Connection conn, String sql, ResultSetHandler rsh)
update(Connection conn, String sql, Object[] params)
update(Connection conn, String sql)
ResultSetHandler接口
用于处理ResultSet结果集,它可以将结果集中的数据转为不同的形式,根据结果集中数据类型的不同,ResultSetHandler提供了不同的实现类。
AbstractKeyedHandler
该类为抽象类,能够把结果集里面的数据转换为用Map存储。
AbstractListHandler
该类为抽象类,能够把结果集里面的数据转换为用List存储,抽象类。
ArrayHandler
把结果集中的第一行数据转成对象数组。
ArrayListHandler
把结果集中的每一行数据都转成一个对象数组,再将数组存放到List中。
BaseResultSetHandler
把结果集转换成其他对象的扩展。
BeanHandler
将结果集中的第一行数据封装到一个对应的JavaBean实例中。
BeanListHandler
将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
BeanMapHandler
将结果集中的每一行数据都封装到一个对应的JavaBean实例中,然后再根据指定的key把每个JavaBean再存放到一个Map里。
ColumnListHandler
将结果集中某一列的数据存放到List中。
KeyedHandler
将结果集中的每一行数据都封装到一个Map里,然后再根据指定的key把每个Map再存放到一个Map里。
MapHandler
将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。
MapListHandler
将结果集中的每一行数据都封装到一个Map里,然后再存放到List中。
ScalarHandler
将结果集中某一条记录的其中某一列的数据存储成Object对象。
ResultSetHandler实现类
ArrayHandler和ArrayListHandler
可以将把结果集中的第一行数据转成对象数组。
Beanhandler、BeanListHandler和BeanMapHandler
将结果集中的数据封装到对应的JavaBean实例中,这也是实际开发中最常用的结果集处理方法。
MapHandler和MapListHandler
将结果集数据存成Map映射。
ColumnListHandler
当我们需要查询结果集中的一列数据时,可以使用ColumnListHandler类。
ScalarHandler
如果需要输出结果集中一行数据的指定字段值,可以使用ScalarHandler类。
KeyedHandler
如果需要输出结果集中一行数据的指定字段值,可以使用KeyedHandler类。
Java精选笔记_DBUtils工具的更多相关文章
- Java精选笔记_Java入门
Java概述 什么是Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言 JavaSE标准版 是为开发普通桌面和商务应用程序提供的解决方案 JavaEE企业版 是为开发企业级应用程序提供的解 ...
- Java精选笔记_集合概述(Collection接口、Collections工具类、Arrays工具类)
集合概述 集合有时又称为容器,简单地说,它是一个对象,能将具有相同性质的多个元素汇聚成一个整体.集合被用于存储.获取.操纵和传输聚合的数据. 使用集合的技巧 看到Array就是数组结构,有角标,查询速 ...
- Java精选笔记_JavaBean
JavaBean组件 初始JavaBean JavaBean是Java开发语言中一个可以重复使用的软件组件,它本质上就是一个Java类. 一个标准的JavaBean组件需要遵循一定的编码规范,具体如下 ...
- Java精选笔记_JSP技术
JSP技术 JSP概述 什么是JSP 在JSP全名是Java Server Page,它是建立在Servlet规范之上的动态网页开发技术. 在JSP文件中,HTML代码与Java代码共同存在,其中,H ...
- Java精选笔记_多线程(创建、生命周期及状态转换、调度、同步、通信)
线程概述 在应用程序中,不同的程序块是可以同时运行的,这种多个程序块同时运行的现象被称作并发执行. 多线程可以使程序在同一时间内完成很多操作. 多线程就是指一个应用程序中有多条并发执行的线索,每条线索 ...
- Java精选笔记_面向对象(包、访问控制、内存机制、垃圾回收机制)
包 包的定义与使用 专门用来存放类的,通常功能相同的类存放在相同的包中. 包的声明只能位于Java源文件的第一行 Java语言中的常用包 java.lang:包含Java语言的核心类,如String. ...
- Java精选笔记_面向对象(构造方法、this关键字、static关键字、内部类)
构造方法constructor构造器 构造方法的定义 [修饰符] 类名 (形式参数列表){ //语句 } 构造器用于构造该类的实例.作用:用来初始化对象!一般由系统在创建对象(即类的 ...
- Java精选笔记_国际化
国际化 什么是国际化 指软件在开发时就应该具备支持多种语言和地区的功能,当应对不同国家和地区的用户访问,针对不同国家和地区的用户,提供相应的.符合来访者阅读习惯的页面和数据. 由于国际化interna ...
- Java精选笔记_自定义标签
自定义标签 自定义标签入门 什么是自定义标签 自定义标签可以有效地将HTML代码与Java代码分离,从而使不懂Java编程的HTML设计人员也可以编写出功能强大的JSP页面 JSP规范中定义了多个用于 ...
随机推荐
- Augustus安装问题 (3.0 以上都适用)
augustus 3.2 (3.3) 编译失败 原因是依赖boost库,而且需要bamtools,从而导致编译失败 报错1: $ make mkdir -p bincd src && ...
- setTimeout解读
看一个简单的例子: for(var i=0; i<4; i++){ setTimeout(function(){console.log(i)}, 0); } 请问下这段代码会输出什么呢? 如果你 ...
- 第一个Hibernate 程序
使用MyEclipse建立Hibernate工程 index页面的Jsp源文件 <%@ page language="java" import="java.util ...
- slimphp中间件调用流程的理解
slimphp是一款微型php框架,主要是处理http请求,并调用合适的程序处理,并返回一个http响应. 它遵循php的psr7规范,可以很方便的集成其它遵循psr7规范的php组建. 当读到中间件 ...
- linux中的ll(转)
linux中的ll(转) 操作系统:ubuntu 9.04 ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名. Ubuntu默认不支持命令ll,必须用 ls -l,这样使用起来不是 ...
- 利用AbstractRoutingDataSource实现动态数据源切换
需求:系统中要实现切换数据库(业务数据库和his数据库) 网上很多资料上有提到AbstractRoutingDataSource,大致是这么说的 在Spring 2.0.1中引入了AbstractRo ...
- Apache Httpd 反向代理配置 (笔记)
Apache Httpd 配置Http反向代理 打开配置文件 httpd.conf 先启动相关模块(去掉前面的注释#)LoadModule proxy_module modules/mod_proxy ...
- RTMP流媒体播放过程:握手,建立连接,建立流,播放
本文讲述从打开一个RTMP流媒体到视音频数据开始播放的整个过程. 播放一个流媒体有两个前提步骤: 第一步,建立一个网络连接(NetConnection): 第二步,建立一个网络流(NetStream) ...
- linux访问ftp服务器命令
在linux访问时输入 用户名 anonymous 密码直接回车可以匿名登录 如果传输非文本,先输入bianry,然后再get就可以了 比如 ftp> get 5-4.tif 227 Enter ...
- LIBSVM使用方法及参数设置 主要参考了一些博客以及自己使用经验。
主要参考了一些博客以及自己使用经验.收集来觉得比较有用的. LIBSVM 数据格式需要---------------------- 决策属性 条件属性a 条件属性b ... 2 1:7 ...