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 ...
随机推荐
- git push不成功 insufficient permission for adding an object to repository database
这常见于多用户. 1. 确保所有用户在同一个组: 2. 确保所有文件被组可读写. 当多个用户各自进行了push操作后,object目录下的文件可能各自属于各个用户.
- asp.net微软图表控件MsChart
前段时间,开发项目时,由于需要,需要将一些数据统计,并以图表形式显示.由于是asp.net,所以就找到了MsChart图表控件,还是挺方便实用的,分享一下. MsChart控件的主要组成如图所示 工具 ...
- bzoj 5072 小A的树 —— 树形DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5072 由于对于一个子树,固定有 j 个黑点,连通块大小是一个连续的范围: 所以记 f[i][ ...
- Android开发中几种有用的的日历控件实现
我们大家都知道,在Android平台3.0中才新增了日历视图控件,可以显示网格状的日历内容,那么对于3.0以下的版本要使用日历控件只能借助第三方,目前用的最多的是CalendarView. 先简单介绍 ...
- 【旧文章搬运】Windbg+Vmware驱动调试入门(三)---Windbg基本调试入门
原文发表于百度空间,2009-01-09========================================================================== 这一节的内 ...
- mysql连接过多-报错
有两种方法: 1,错误连接参数 max_connect_errors,在配置文件中调整增大. 比如:修改mysql配置文件,在[mysqld]字段下面添加 max_connect_errors=102 ...
- UVa 11584 Partitioning by Palindromes (简单DP)
题意:给定一个字符串,求出它最少可分成几个回文串. 析:dp[i] 表示前 i 个字符最少可分成几个回文串,dp[i] = min{ 1 + dp[j-1] | j-i是回文}. 代码如下: #pra ...
- 51nod 1225:余数之和
传送门 题意 略 分析 \(\sum_i^n(n\%i)=\sum_i^n(n-i*n/i)=n^2-\sum_i^ni*n/i\) \(=\sum r\sum_i^ni[n/i==r]\) 可以证明 ...
- 51nod1432【贪心】
对于每个数我找一个和他相加最接近独木舟,然后ans+=1; 想复杂了,直接两端来就好了. 然后两个相加如果<=m那么就让它们在一起,不是的话就让大的一艘船,然后继续搞(贪心) #include ...
- poj 2891 Strange Way to Express Integers【扩展中国剩余定理】
扩展中国剩余定理板子 #include<iostream> #include<cstdio> using namespace std; const int N=100005; ...