该工具包主要用来操作数据库,进行增删改查。将结果包装到对象或对象集合中。

在写web项目的时候,经常会涉及到数据库的操作。比如连接数据库获取连接对象、执行sql语句、获得结果。如果对每一个方法都写这么多重复代码比较繁重。commons-dbutils-1.6包将我们冲这么繁重的任务中解放出来。

该包中比较重要的对象是QueryRunner,常用的方法

1)update  //执行增加、删除、修改

2)query  // 执行查询

说明:如果在新建一个QueryRunner对象时传入了DataSource 对象,那么在执行SQL语句的时候不需要再传入Connection对象了,因为它会自动在DataSource中获得。

例子:

1)update 操作

public void saveUser(User user) {
String sql = "INSERT INTO USER(uname, ugender, uage, uemail, utel, uaddress) VALUES(?,?,?,?,?,?)";
try {
qr.update(conn, sql, user.getUname(), user.getUgender(), user.getUage(), user.getUemail(), user.getUtel(), user.getUaddress());
} catch (SQLException e) {
e.printStackTrace();
} finally {
JdbcUtil.closeConnection(conn);
} }

2)查询操作

public User getUser(User user) {
String sql = "SELECT * FROM USER WHERE uemail=?";
User user2 = null;
try {
user2 = qr.query(conn, sql, new BeanHandler<User>(User.class), user.getUemail()); } catch (SQLException e) {
e.printStackTrace();
} finally {
JdbcUtil.closeConnection(conn);
}
return user2;
}

代码中有些类变量,定义如下

private Connection conn = JdbcUtil.getConnection();   //用于获取数据库的连接
private QueryRunner qr = new QueryRunner();

在执行查询操作中,经常需要使用保存结果为一个对象,或者一个对象集合。commons-dbutils-1.6提供了很多方法用于解决该类问题。

常用的有BeanHandlerBeanListHandlerMapHandlerMapListHandlerScalarHandler具体用法可以查看相应的官方文档,比较简单。

dbutil组件的常见用法的更多相关文章

  1. layui(二)——layer组件常见用法总结

    layer是layui的代表作,功能十分强大,为方便以后快速配置这里对其常见用法做了简单总结 一.常用调用方式 //1.普通消息:alert(content,[options],[yesCallBac ...

  2. [转]EasyUI——常见用法总结

    原文链接: EasyUI——常见用法总结 1. 使用 data-options 来初始化属性. data-options是jQuery Easyui 最近两个版本才加上的一个特殊属性.通过这个属性,我 ...

  3. JTable常见用法细则+设置某列可编辑+滚动表格

    JTable常见用法细则 JTable是Swing编程中很常用的控件,这里总结了一些常用方法以备查阅.欢迎补充,转载请注明作者与出处. 一.创建表格控件的各种方式: 1)  调用无参构造函数. JTa ...

  4. React之特点及常见用法

    1.什么是React? React是一个用于构建用户界面的JavaScript库.主要用于构建UI,很多人认为Reatc是MVC中的V(视图). React起源于Facebook的内部项目,用来架构I ...

  5. Linux中find常见用法

    Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数 ...

  6. 第四节:Vue表单标签和组件的基本用法,父子组件间的通信

    vue表单标签和组件的基本用法,父子组件间的通信,直接看例子吧. <!DOCTYPE html> <html> <head> <meta charset=&q ...

  7. php中的curl使用入门教程和常见用法实例

    摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...

  8. Guava中Predicate的常见用法

    Guava中Predicate的常见用法 1.  Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterabl ...

  9. find常见用法

    Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数 ...

随机推荐

  1. linux /proc/pid进程信息说明

    转:http://hi.baidu.com/sei_zhouyu/item/3ab5bc9fb2ea29c3b6253140 /proc/pid/是进程目录,存放的是当前运行进程的信息. 譬如apac ...

  2. 对于矩阵的理解-- by 孟岩老师

    “如果不熟悉线性代数的概念,要去学习自然科学,现在看来就和文盲差不多.” --瑞典数学家Lars Garding名著<Encounter with Mathematics>. 1. 矩阵的 ...

  3. PulsingHalo(自定义涟漪)的使用方法

    PulsingHalo的git地址是: https://github.com/shu223/PulsingHalo Objective - C 一丶PulsingHalo的实例化和启动: Pulsin ...

  4. 2013年,移动App设计的13大精髓

    摘要:在 过去的一年里,移动成主流也让众多的移动应用如雨后春笋般层出不穷,在众多开发者从中获利的同时竞争也愈演愈烈,如何才能保证自己立于不败之地?用户是上 帝,一切还得从应用说起.本文总结了新一年里A ...

  5. linux 编译win32程序

    apt-get install mingw32 int main(int argc, char *argv) { printf("Windows Compiler Test\n") ...

  6. iOS:切换视图时,反向传递数据方法一:通知

    通知方式: 1.有一个(单例)通知中心,负责管理iOS中的所有通知 2.需要获取某种通知,必须注册成为观察者(订阅) 3.不再需要取某种通知时,要取消注册. 4.你可以向通知中心发送某种通知,通知中心 ...

  7. Orchard运用 - 特定主题添加独立代码文件

    今天继续跟大家分享捣鼓Orchard的一些心得.其实有时一些问题或者Bugs还是蛮好解决的,主要看你采取哪种方式方法.比如有时我们为了扩展某些特性或功能,你可以搭建一个全新的模块来完成,如果临时的或简 ...

  8. 一次WEB前端优化尝试

    今天对自己做的项目中的一个设计器界面加载速度上进行了优化,因为页面在加载的时候,感觉有点慢.首先,我用firefox的yslow和chrome的pagespeed进行了测试,效果如下,分数有点不同,但 ...

  9. IE6BUG汇总篇(不断更新)

    1.IE6双倍边距bug 当页面内有多个连续浮动时,如本页的图标列表是采用左浮动,此时设置li的左侧margin值时,在最左侧呈现双倍情况.如外边距设置为10px, 而左侧则呈现出20px,解决它的方 ...

  10. idea maven项目模块中的Content Root