Javaweb学习笔记8—DBUtils工具包
今天来讲javaweb的第8阶段学习。
DBUtils技术,DBUtils是我们操作数据库很常用的功能,虽然后期使用都是它的封装结果,但是也需要掌握。
老规矩,首先先用一张思维导图来展现今天的博客内容。
ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载
另外:如果图看不清的话请右击---在新窗口中打开会清楚很多

一* 概述:
1* 定义:
用于封装操作数据库的增删改查.
2* 特点:
A* 对于数据表的读操作,他可以把结果转换成List、Array、Set等java集合,便于程序员操作.
B* 对于数据表的写操作,也变得很简单(只需写sql语句).
C* 可以使用数据源,使用JNDI,数据库连接池等技术来优化性能.
二* 常用类:
1* QueryRunner类:
1.1* 构造函数:
* QueryRunner():默认无参构造.
* QueryRunner(DataSource ds):传递连接池的构造.
1.2* 常用方法:
* query()方法:用于执行查询操作.
* query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params)
1.3* query(String sql, ResultSetHandler<T> rsh, Object... params)
* update()方法:用于执行增删改操作.
* update(Connection conn, String sql, Object... params)
* update(String sql, Object... params)
2* ResultSetHandler接口:
2.1* handle(ResultSet rs)方法:
用于将ResultSet结果集类型进行转换.
三 * 两种方式管理事务:
1* 手动管理事务:
* QueryRunner()
* query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params)
* update(Connection conn, String sql, Object... params)
2* 工具管理事务:
* QueryRunner(DataSource ds)
* query(String sql, ResultSetHandler<T> rsh, Object... params)
* update(String sql, Object... params)
四* ResultSethandler:
通过上述查询语句可以发现,每次去实现ResultSetHandler的方法非常麻烦。其实ResultSetHandler接口提供了九个实现类供使用,分别如下:
1* ArrayHandler:把结果集中的第一行数据转成对象数组.

2 * ArrayListHandler:把结果集中的每一行数据都转成一个对象数组,再存放到List中.

3* BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中.

4* BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里.

5* MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值.

6* MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List.

7* ColumnListHandler:将结果集中某一列的数据存放到List中.

8* KeyedHandler:将结果集中的每一行数据都封装到一个Map里,再把这些map再存到一个map里,其key为指定的列.

9* ScalarHandler:进行单值查询.
Javaweb学习笔记8—DBUtils工具包的更多相关文章
- JavaWeb学习笔记总结 目录篇
JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ...
- javaweb学习笔记整理补课
javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ...
- 【JAVAWEB学习笔记】06_jQuery基础
接05的学习笔记. 四.使用JQ完成省市二级联动 1.需求分析 使用jquery完成省市二级联动 2.技术分析 2.1数组的遍历操作 方式一: $(function(){ // 全选/ 全不选 $(& ...
- javaweb学习笔记(二)
一.javaweb学习是所需要的细节 1.Cookie的注意点 ① Cookie一旦创建,它的名称就不能更改,Cookie的值可以为任意值,创建后允许被修改. ② 关于Cookie中的setMaxAg ...
- Javaweb学习笔记(一)
一.javaweb学习是所需要的细节 1.发送响应头相关的方法 1).addHeader()与setHeader()都是设置HTTP协议的响应头字段,区别是addHeader()方法可以增加同名的响应 ...
- JavaWeb学习笔记(十八)—— DBUtils的使用
一.DBUtils概述 1.1 什么是DBUtils commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbuti ...
- 【JAVAWEB学习笔记】10_JDBC连接池&DBUtils
使用连接池改造JDBC的工具类: 1.1.1 需求: 传统JDBC的操作,对连接的对象销毁不是特别好.每次创建和销毁连接都是需要花费时间.可以使用连接池优化的程序. * 在程序开始的 ...
- JDBC学习笔记(9)——DBUtils的使用
使用DBUtils提供的功能需要使用commons-dbutils-1.6.jar这个JAR包,在Apache官网可以下载到 使用DBUtils进行更新操 测试QueryRunner类的update方 ...
- JavaWeb学习笔记之Servlet(一)
1. 引子: 当我们开始进入JavaWeb开发的学习时,我们就必须要和Servlet和HTTP这两个词进行打交道了,尤其是Servlet.即使到了后面使用JSP (我们知道JSP其本身就是一个Serv ...
随机推荐
- cassandra复制到一个新机器编译失败的问题
在A机器上ant编译后,复制到B机器,在B机器上编译会出错. 原因是载入一些文件时出错,因为路径还是A机器上的路径. 经过与git上的源代码对比,发现多了一个build文件夹,这可能是ant生成的目录 ...
- unity3d 公告板
Unity 自带具有一个平面的原始对象,但一个简单的平面在2D游戏或GUI可能是有用的,在任何情况下作出一个好的开始例子.一个最小的平面包含四个顶点,界定两个三角形的边角. 第一件事就是设置顶点数组. ...
- ul下的li浮动,如何是ul有li的高度
此时ul展示的界面为: ①给ul加上一个样式,display:inline-block; <html> <head> <title>float</title& ...
- -webkit-text-size-adjust 处理设置字体<12px
-webkit-text-size-adjust 1.当样式表里font-size<12px时,中文版chrome浏览器里字体显示仍为12px,这时可以用 html{-webkit-text- ...
- redis简介、安装、配置和数据类型
redis简介.安装.配置和数据类型 redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理. 它支持字符串.哈希表.列表.集合.有序集合, ...
- php大小写转换函数
1.将字符串转换成小写 strtolower(): 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字 符串.例: <?php $str = "I want T ...
- HDOJ2955 0/1背包的价值和重量
[hdoj2955] 1.概率问题: 计算逃跑率,但是要变成相×的 2.背包处理问题 然后因为率不能作为那个重量,所以价值作为重量,求一个在每个价值下的最大的逃跑率,然后在给定的逃跑率下面,来一个su ...
- hdu2767(图的强连通)
//题意:问需要添加几条边使得这张图成为每个点都等价(强连通图) 我们先把图中的强连通分量缩点 可能他本身就是满足条件,那么直接输出0 经过缩点后,就可以把强连通分量看成一个个独立的点,在这张图上搞一 ...
- python int对象的方法
1.求绝对值 >>> a = -10 >>> a.__abs__() 10 >>> abs(10) 10 2.加法 >>> a ...
- Counting The Important Pairs CodeChef - TAPAIR
https://vjudge.net/problem/CodeChef-TAPAIR 合法的删除方法: 第一种:桥边与其余任意边(1)桥*(桥-1)/2(两条桥边)(2)桥*(m-桥)(桥边+其他边) ...