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类。
最新文章
- 使用openvswitch 和dnsmasq来实现虚拟机网络隔离
- 用javascript简单封装AJAX
- java 静态函数锁对象说明
- supersocket+controller+action
- Java 二进制与十六进制转换
- IOS开发之——CocoaPods安装和使用 OC和swift通吃
- Newtonsoft.Json高级用法 1.忽略某些属性 2.默认值的处理 3.空值的处理 4.支持非公共成员 5.日期处理 6.自定义序列化的字段名称
- Tomcat遇到”Error listenerStart”或”Error filterStart”问题且无详细日志时的log配置.
- 客户端访问WebService和PageMethod
- 使用air进行移动app开发常见功能和问题(一)
- ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables opt
- C# 订单流水号生成
- treeview和listview的用法
- iOS 网络编程模式总结
- Redis.之.环境搭建(集群)
- python易错题之作用域
- ionic 下拉选择框中默认显示传入的参数
- linux下添加分区并挂载目录、卸载并删除分区
- LeetCode赛题----Find Left Most Element
- [NOI2009]诗人小G --- DP + 决策单调性
热门文章
- iOS登录单例
- c++11特性与cocos2d-x 3.0之std::bind与std::function
- Python中的相对文件路径的调用
- 关于HTML、XHTML、CSS、XML的区别
- python 字符和数值转换
- 关于Java开发过程中质量提升-2自动化
- Codeforces Round #257 (Div. 2) E题:Jzzhu and Apples 模拟
- LUA中获得服务器IP
- Hibernate-HQL&;QBC基础使用(分页)
- 第二百八十四节,MySQL数据库-MySQL触发器