Javaweb学习笔记8—DBUtils工具包

来源:互联网 发布:如何头文件javascript 编辑:程序博客网 时间:2024/05/22 01:08


今天来讲javaweb的第8阶段学习。DBUtils技术,DBUtils是我们操作数据库很常用的功能,虽然后期使用都是它的封装结果,但是也需要掌握。


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

   

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

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

 

一* 概述:


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)

* query(String sql, ResultSetHandler<T> rsh, Object... params)

* update()方法:用于执行增删改操作.

* update(Connection conn, String sql, Object... params)

     * update(String sql, Object... params)


2* ResultSetHandler接口:


 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:进行单值查询






3 0
原创粉丝点击