Javaweb学习笔记8—DBUtils工具包

时间:2021-04-05 13:13:58

今天来讲javaweb的第8阶段学习。

DBUtils技术,DBUtils是我们操作数据库很常用的功能,虽然后期使用都是它的封装结果,但是也需要掌握。

老规矩,首先先用一张思维导图来展现今天的博客内容。

   

ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载

另外:如果图看不清的话请右击---在新窗口中打开会清楚很多

 

Javaweb学习笔记8—DBUtils工具包

一* 概述:

1* 定义:

用于封装操作数据库的增删改查.

2* 特点:

A* 对于数据表的读操作,他可以把结果转换成ListArraySetjava集合,便于程序员操作.

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:把结果集中的第一行数据转成对象数组.

Javaweb学习笔记8—DBUtils工具包

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

Javaweb学习笔记8—DBUtils工具包

 

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

Javaweb学习笔记8—DBUtils工具包

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

Javaweb学习笔记8—DBUtils工具包

 

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

Javaweb学习笔记8—DBUtils工具包

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

Javaweb学习笔记8—DBUtils工具包

 

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

Javaweb学习笔记8—DBUtils工具包

 

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

Javaweb学习笔记8—DBUtils工具包

9* ScalarHandler:进行单值查询.