Javaweb学习笔记8—DBUtils工具包


今天来讲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:进行单值查询






郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。