博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DBUtils工具笔记【简】
阅读量:6807 次
发布时间:2019-06-26

本文共 1679 字,大约阅读时间需要 5 分钟。

  hot3.png

DBUtils介绍

    Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能

DBUtis的API

    QueryRunner类:执行sql语句

    ResultSetHandler接口:将结果集封装到一个bean中  
    DBUtils类:工具类 关闭资源 事务相关

快速入门(小案例)

创建一个user表

create table user(id varchar(50) primary key,name varchar(20),age int,addr varchar(255),idcard varchar(20),account int);

原始jdbc方式:

201736_Jbpr_2763509.png

使用DBUtils方式:

201952_XVR7_2763509.png

202058_fBLm_2763509.png

QueryRunner详解

QueryRunner的创建方式

    QueryRunner runner = new QueryRunner();//手动事务
    QueryRunner runner = new QueryRunner(DataSource);//自动事务
QueryRunner的方法
    三个方法:
            update()     batch()     query()

update方法

参数:

    Connection:连接对象
    sql:sql语句(必须有)
    params:sql语句中占位符的位置的值
组成的方法:
        update(Connection,sql,params):手动控制事务 sql需要传入参数
        update(Connection,sql):手动控制事务 sql没有参数 例如:delete from user;
        update(sql,params):自动控制事务 sql需要参数
        update(sql):自动控制事务 sql不需要参数

自动事务执行update

202622_Ojtq_2763509.png

手动事务执行update

202731_6l4w_2763509.png

batch方法--批处理

参数:

    Connection:连接对象
    sql:sql语句(必须有)
    params:sql语句中占位符的位置的值  二维数组
组成的方法:
    batch(Connection,sql,params):如果事务回滚的话 所有批处理的sql都不生效
    batch(sql,params)

自动事务执行batch

202857_3XAL_2763509.png

手动事务执行batch

202932_q20c_2763509.png

query方法

参数:

    Connection:连接对象
    sql:sql语句(必须有)
    params:sql语句中占位符的位置的值  二维数组
    ResultSetHandler:封装结果集(必须有)
组成方法:
    query(connection,sql,params,resultsetHandler)
    query(connection,sql,resultsetHandler)
    query(sql,params,resultsetHandler)
    query(sql,resultsetHandler)

203113_Myrj_2763509.png

ResultSetHandler:封装结果集

handle方法(ResultSet)

自定义通用的handler

203356_XXak_2763509.png

203417_VgfC_2763509.png

DBUtils提供了9个ResultSetHandler接口的实现

BeanListHandler:返回是一个list list中封装的是实体bean

203802_9pMl_2763509.png

BeanHandler:返回就是实体bean

203831_xh3n_2763509.png

ArrayHandler:返回值是一个数组

203900_WrdE_2763509.png

ArrayListHandler: 返回值是List<Object[]> 结果集中的每一行数据封装到数组中 在将多个数据放到集合中

203940_kdkg_2763509.png

MapHandler

204008_N1pA_2763509.png

MapListHandler

204031_XfgB_2763509.png

ColumnListHandler: 返回的是一个集合 集合中元素是一列的数据

204051_ywak_2763509.png

ScalarHandler: 返回的是第一行的第一列的数据

204118_2bJ8_2763509.png

KeyedHandler:

204143_SGQE_2763509.png

204213_y7HF_2763509.png

DBUtils工具类

主要是关闭资源和事务相关的方法

DBUtils.close(conn)----- conn.close

转载于:https://my.oschina.net/anlve/blog/1785852

你可能感兴趣的文章
微信支付坑 一两点
查看>>
无锁算法
查看>>
Wordpress 5.2 beta 2 发布,支持 Emoji 12
查看>>
Drupal 曝出代码执行高危漏洞,数百万网站受影响
查看>>
《TCP IP 详解卷1:协议》阅读笔记 - 第十四章
查看>>
文字与编码的奥妙(上篇)
查看>>
适用与IOS手机的python编辑器,让你不限空间,地点都能玩转pyhton代码 ! ...
查看>>
【直播预告】云栖社区特邀专家蒋泽银:Jpom一款低侵入式Java运维、监控软件 ...
查看>>
零跑C-more收获更多期待,而零跑S01还在追求更多的订单 | 2019 上海车展 ...
查看>>
想成长为一名年薪50万+的实战型架构师?必掌握这7大实战技能经验
查看>>
百行征信出首招,发布授信 反欺诈 核验三款测试产品
查看>>
日志服务Python消费组实战(三):实时跨域监测多日志库数据
查看>>
操作数据库表
查看>>
王传福:电动汽车开始由政策与市场双轮驱动|电动车百人会2019
查看>>
(十四)Java springcloud B2B2C o2o多用户商城 springcloud架构- Spring Cloud构建分布式电子商务平台...
查看>>
Ansible 常用
查看>>
解决yum安装mysql时Requires: libc.so.6(GLIBC_2.17)(64bit)
查看>>
阿里云ECS云服务器规格如何选择?根据使用场景选择规格
查看>>
深入理解uwsgi和gunicorn网络模型
查看>>
Trapcode套装插件原创图文/视频安装教程
查看>>