Dbutils

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

DBUtils是java编程中的数据库操作实用工具,小巧简单实用,

1.对于数据表的读操作,他可以把结果转换成List,Array,Set等java集合,便于程序员操作;

2.对于数据表的写操作,也变得很简单(只需写sql语句)

3.可以使用数据源,使用JNDI,数据库连接池等技术来优化性能--重用已经构建好的数据库连接对象,而不像php,asp那样,费时费力的不断重复的构建和析构这样的对象。

DBUtils包括3个包:

org.apache.commons.dbutils

org.apache.commons.dbutils.handlers

org.apache.commons.dbutils.wrappers

DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。

org.apache.commons.dbutils

DbUtils 关闭链接等操作

QueryRunner 进行查询的操作

org.apache.commons.dbutils.handlers

ArrayHandler :将ResultSet中第一行的数据转化成对象数组

ArrayListHandler将ResultSet中所有的数据转化成List,List中存放的是Object[]

BeanHandler :将ResultSet中第一行的数据转化成类对象

BeanListHandler :将ResultSet中所有的数据转化成List,List中存放的是类对象

ColumnListHandler :将ResultSet中某一列的数据存成List,List中存放的是Object对象

KeyedHandler :将ResultSet中存成映射,key为某一列对应为Map。Map中存放的是数据

MapHandler :将ResultSet中第一行的数据存成Map映射

MapListHandler :将ResultSet中所有的数据存成List。List中存放的是Map

ScalarHandler :将ResultSet中一条记录的其中某一列的数据存成Object

org.apache.commons.dbutils.wrappers

SqlNullCheckedResultSet :对ResultSet进行操作,改版里面的值

StringTrimmedResultSet :去除ResultSet中中字段的左右空格。Trim()

主要方法:

DbUtils类:启动类

ResultSetHandler接口:转换类型接口

MapListHandler类:实现类,把记录转化成List

BeanListHandler类:实现类,把记录转化成List,使记录为JavaBean类型的对象

Query Runner类:执行SQL语句的类

时间: 2024-09-17 07:23:03

Dbutils的相关文章

用组件beanutils,dbutils简化JDBC操作

    虽然现在出现了很多ORM框架,可是还是有很多朋友也许还在使用JDBC,就像我现在一样,除了学习的时候在使用Hibernate.Spring类似这些优秀的框架,工作时一直都在使用JDBC.本文就简单介绍一下利用Jakarta Commons旗下beanutils.dbutils简化JDBC数据库操作,以抛砖引玉,希望对像我一样在使用JDBC的朋友有所帮助.     下面就分两部分简单介绍beanutils.dbutils在基于JDBC API数据库存取操作中的运用.第一部分显介绍beanu

MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

[正文] 这一周状态不太好,连续打了几天的点滴,所以博客中断了一个星期,现在继续. 我们在之前的几篇文章中学习了JDBC对数据库的增删改查.其实在实际开发中,一般都是使用第三方工具类,但是只有将之前的基础学习好了,在使用开源工具的时才能得心应手.如果对JDBC基础不太清楚,或者对本文看不太懂,建议先回顾一下本人之前的几篇和"MySQL数据库学习笔记"相关的文章.但是不管怎样,今后如果用到了数据库的增删改查,肯定是这篇文章中的代码用的最多. 一.DbUtils简介: DBUtils是ap

用Python DBUtils安全连接mssql

 DBUtils 是一套允许线程化 Python 程序可以安全和有效的访问数据库的模块.有人在基于Pylons的服务器上测试了使用DBUtils前后的性能对比,看上去似乎性能不错.不失为一个管理数据库连接的办法.    但连mysql没问题,代码很简单, from DBUtils.PooledDB import PooledDBimport MySQLdb pool = PooledDB(MySQLdb, 5,host = "ipip", user = "root"

[Apache commons系列]DBUtils简介-3.示例代码

inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ). DbUtils是一个小型的类库,这里通过具体实例来说明如何使用DbUtils.示例分为3个类:DbUtilsExample演示了如何使用DbUtils 类:QueryRunnerExample 演示了如何使用QueryRunner .ResultSetHandler :User 类为一个JavaBean,对应于数据库中的表格.示例采用MySQL为数据库,使用JDBC4.0驱动(最

JavaWeb 后端 <十一> 之 DBUtils 框架 (基本使用 结果集 事务处理 对表读取)

一.数据库操作框架 1.ORM:Object Relation Mapping Hibernate:非常流行 JPA:Java Persistent API.ORM标准 MyBatis:2010年开始.之前叫做iBatis(重视) 2.JDBC封装框架 DBUtils Spring JDBC Template 二.Apache的DBUtils框架(会用:练习作业) 1.基本的使用 DBCPutil public class DBCPUtil {     private static DataSo

javaweb-使用DButils查询语句在DAO层报错Cannot Create Bean。。。query:。。。

问题描述 使用DButils查询语句在DAO层报错Cannot Create Bean...query:... 报错信息: java.sql.SQLException: Cannot create Bean.privilege: Bean.privilege Query: select p.* from privilege pprivilege_role pr where p.id=pr.p_id and pr.r_id=? Parameters: [007] at org.apache.com

DbUtils 获取 count(*)值的问题;

问题描述 DbUtils 获取 count(*)值的问题: DbUtils获取不到count(*)的值sql: SELECT r.superm_id d.department_name COUNT(*) AS count_smsun FROM rsd rdpt d WHERE r.superm_id=d.department_id AND rsd_status='已复核' GROUP BY r.superm_id ORDER BY r.superm_id DESC ; java代码: DbUti

阻塞-关于DBUtils执行更新卡住的问题

问题描述 关于DBUtils执行更新卡住的问题 先描述下我的应用场景: IM项目,某个聊天中,每发送一条消息就存储或更新该条消息为本聊天的最后一条聊天记录.这里的数据库操作我放在ExecutorService并设置为单一线程池.大部分情况下是没有问题的,但是再低内存手机中,频繁发送消息偶尔会出现update方法一直卡在这里(前面log有输出,后面的log不输出也没有抛出异常),因此导致了线程阻塞,请问下为什么update会卡住 System.out.println(recordModel.get

xutils 聚合函数-Android开元框架虚体绿色的Dbutils操作

问题描述 Android开元框架虚体绿色的Dbutils操作 谁用过xutils框架啊?那个Dbutils如何使用聚合函数啊?我现在主要获取数据库聚合函数sun如何查询啊?还有Dbutils需要手动关闭么? 解决方案 http://my.oschina.net/u/2001659/blog/305082