今天来讲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工具包的更多相关文章

  1. JavaWeb学习笔记总结 目录篇

    JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ...

  2. javaweb学习笔记整理补课

    javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ...

  3. 【JAVAWEB学习笔记】06_jQuery基础

    接05的学习笔记. 四.使用JQ完成省市二级联动 1.需求分析 使用jquery完成省市二级联动 2.技术分析 2.1数组的遍历操作 方式一: $(function(){ // 全选/ 全不选 $(& ...

  4. javaweb学习笔记(二)

    一.javaweb学习是所需要的细节 1.Cookie的注意点 ① Cookie一旦创建,它的名称就不能更改,Cookie的值可以为任意值,创建后允许被修改. ② 关于Cookie中的setMaxAg ...

  5. Javaweb学习笔记(一)

    一.javaweb学习是所需要的细节 1.发送响应头相关的方法 1).addHeader()与setHeader()都是设置HTTP协议的响应头字段,区别是addHeader()方法可以增加同名的响应 ...

  6. JavaWeb学习笔记(十八)—— DBUtils的使用

    一.DBUtils概述 1.1 什么是DBUtils commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbuti ...

  7. 【JAVAWEB学习笔记】10_JDBC连接池&DBUtils

    使用连接池改造JDBC的工具类: 1.1.1          需求: 传统JDBC的操作,对连接的对象销毁不是特别好.每次创建和销毁连接都是需要花费时间.可以使用连接池优化的程序. * 在程序开始的 ...

  8. JDBC学习笔记(9)——DBUtils的使用

    使用DBUtils提供的功能需要使用commons-dbutils-1.6.jar这个JAR包,在Apache官网可以下载到 使用DBUtils进行更新操 测试QueryRunner类的update方 ...

  9. JavaWeb学习笔记之Servlet(一)

    1. 引子: 当我们开始进入JavaWeb开发的学习时,我们就必须要和Servlet和HTTP这两个词进行打交道了,尤其是Servlet.即使到了后面使用JSP (我们知道JSP其本身就是一个Serv ...

随机推荐

  1. 一个小bug,关于fuse_mount_sys

    在mount.c  中的 int fuse_mount_sys 函数中,如果注销掉 fd的open语句,此时fd一般为0. 然后,用普通用户运行ssfs且不加-f参数,一切显示正常 fuse_moun ...

  2. oracle long 转varchar2

    函数: /* 其中in_rowid为行id,in_owner为数据库登陆的帐号名,in_table_name为数据库表名,in_column为数据库对应long类型的表字段名称 */ CREATE O ...

  3. RPi 2B DDNS 动态域名

    /**************************************************************************** * RPi 2B DDNS 动态域名 * 说 ...

  4. 理解Objective-C Runtime(四)Method Swizzling

    Objective-C对象收到消息之后,究竟会调用何种方法需要在运行期间才能解析出来.那你也许会问:与给定的选择子名称相应的方法是不是也可以在runtime改变呢?没错,就是这样.若能善用此特性,则可 ...

  5. 【扬中集训 DAY4T1】跳马

    [题目链接] 点击打开链接 [算法] 数据范围很大,显然暴力是不能通过的 我们可以先打表,发现答案为 : 41 109 205 325 473 649 853 1085 1345 观察数列的差 68 ...

  6. javascript之存储数据-cookie,localStorage,sessionStorage

    cookie: 存储一些简单的数据,以文本形式放到本地,大小4kb 存储:document.cookie='name=value' 取值:document.cookie(字符串) 期限:expires ...

  7. 如何在单独的窗口中打开 Excel 文件

    如何在单独的窗口中打开 Excel 文件 文章编号:087583     2012/11/1 18:45:29 故障现象: 如何在单独的窗口中打开 Excel 文件? 解决方案: 比较安全的方法就是直 ...

  8. ASP.NET Core:Pages

    ylbtech-ASP.NET Core:Pages 1.返回顶部 1._Layout.cshtm <!DOCTYPE html> <html> <head> &l ...

  9. bzoj4556

    后缀自动机+二分+倍增+线段树合并 后缀自动机真好用 后面一个串是固定的,那么我们要对前面的串进行一些操作.我们想既然是求lcp,那么我们得先翻转原串,这样前缀变成了后缀,然后二分一下,从d在自动机上 ...

  10. E20170429-hm

    fold   n/v 折叠 ribbon n 色带 hover  n. 盘旋; 徘徊; vi犹豫 Roll over 打滚; 折:翻滚   pinch ピンチ 捏,掐; finger フィンガー sc ...