- 浏览: 1100253 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
skyesx:
这是2PC实现,更常用的是一个柔性事务的实现,可以参考http ...
Spring分布式事务实现 -
ddbird:
这第一句就不严谨“分布式事务是指操作多个数据库之间的事务”,显 ...
Spring分布式事务实现 -
呵呵6666:
基于互联网支付系统的微服务架构分布式事务解决方案http:// ...
Spring分布式事务实现 -
小黄牛:
写得不错,交流群:472213887
Spring分布式事务实现 -
jiaoqf321456:
这明明是用的apache的压缩,给ant.jar有半毛钱关系吗 ...
使用ant.jar进行文件zip压缩
一、关于DbUtils
commons-dbutils 是 Apache 组织提供的一个开源 JDBC 工具类库,对传统操作数据库的类进行二次封装,可以把结果集转化成List。
项目主页: http://commons.apache.org/dbutils/
文档地址: http://commons.apache.org/dbutils/examples.html
下载地址:http://commons.apache.org/downloads/download_dbutils.cgi
(1)org.apache.commons.dbutils
DbUtils : 提供如关闭连接、装载 JDBC 驱动程序等常规工作的工具类
QueryRunner : 该类简单化了 SQL 查询,它与 ResultSetHandler 组合在一起使用可以完成大部分的数据库操作,能够大大减少编码量。
QueryLoader : 属性文件加载器,主要用于加载属性文件中的 SQL 到内存中。
(2)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
(3)org.apache.commons.dbutils.wrappers
SqlNullCheckedResultSet :该类是用来对sql语句执行完成之后的的数值进行null的替换。
StringTrimmedResultSet :去除ResultSet中中字段的左右空格。Trim()
二、例子
commons-dbutils 是 Apache 组织提供的一个开源 JDBC 工具类库,对传统操作数据库的类进行二次封装,可以把结果集转化成List。
项目主页: http://commons.apache.org/dbutils/
文档地址: http://commons.apache.org/dbutils/examples.html
下载地址:http://commons.apache.org/downloads/download_dbutils.cgi
(1)org.apache.commons.dbutils
DbUtils : 提供如关闭连接、装载 JDBC 驱动程序等常规工作的工具类
QueryRunner : 该类简单化了 SQL 查询,它与 ResultSetHandler 组合在一起使用可以完成大部分的数据库操作,能够大大减少编码量。
QueryLoader : 属性文件加载器,主要用于加载属性文件中的 SQL 到内存中。
(2)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
(3)org.apache.commons.dbutils.wrappers
SqlNullCheckedResultSet :该类是用来对sql语句执行完成之后的的数值进行null的替换。
StringTrimmedResultSet :去除ResultSet中中字段的左右空格。Trim()
二、例子
public class TestDbUtils { /** * BeanListHandler :将ResultSet中所有的数据转化成List,List中存放的是类对象 */ public static void getBeanListData() { Connection conn = getConnection(); QueryRunner qr = new QueryRunner(); try { ResultSetHandler rsh = new BeanHandler(TUser.class); TUser usr = (TUser) qr.query(conn,"SELECT id,username,gender FROM t_user WHERE id=10000",rsh); System.out.println(StringUtils.center("findById", 50, '*')); System.out.println("id=" + usr.getId() + " name=" + usr.getUsername() + " gender=" + usr.getGender()); List results = (List) qr.query(conn,"SELECT id,username,gender FROM t_user", new BeanListHandler(TUser.class)); System.out.println(StringUtils.center("findAll", 50, '*')); for (int i = 0; i < results.size(); i++) { TUser user = (TUser) results.get(i); System.out.println("id=" + user.getId() + " name=" + user.getUsername() + " gender=" + user.getGender()); } } catch (SQLException e) { e.printStackTrace(); } finally { DbUtils.closeQuietly(conn); } } /** * MapListHandler :将ResultSet中所有的数据存成List。List中存放的是Map */ public static void getMapListData() { Connection conn = getConnection(); QueryRunner qr = new QueryRunner(); try { List results = (List) qr.query(conn,"SELECT id,username,gender FROM t_user", new MapListHandler()); for (int i = 0; i < results.size(); i++) { Map map = (Map) results.get(i); System.out.println("id=" + map.get("id") + " name=" + map.get("username") + " gender=" + map.get("gender")); } } catch (SQLException e) { e.printStackTrace(); } finally { DbUtils.closeQuietly(conn); } } /** *新增和更新例子 */ public static void insertAndUpdateData(){ Connection conn = getConnection(); QueryRunner qr = new QueryRunner(); try{ //创建一个数组来存要insert的数据 Object[] insertParams = {"John Doe", "000000","男"}; int inserts = qr.update(conn, "INSERT INTO t_user(username,password,gender) VALUES (?,?,?)", insertParams ); System.out.println("inserted " + inserts + " data"); Object[] updateParams = {"111111", "John Doe"}; int updates = qr.update(conn, "UPDATE t_user SET password=? WHERE username=?", updateParams ); System.out.println("updated "+ updates + " data"); }catch (SQLException e) { e.printStackTrace(); } finally { DbUtils.closeQuietly(conn); } } /** * Unlike some other classes in DbUtils, this class(SqlNullCheckedResultSet) is NOT thread-safe. */ public static void findUseSqlNullCheckedResultSet(){ Connection conn = getConnection(); try{ Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT id, username, gender FROM t_user"); SqlNullCheckedResultSet wrapper = new SqlNullCheckedResultSet(rs); wrapper.setNullString("N/A"); // Set null string rs = ProxyFactory.instance().createResultSet(wrapper); while(rs.next()){ System.out.println("id="+rs.getInt("id") + " username=" + rs.getString("username") + " gender="+rs.getString("gender")); } rs.close(); }catch(Exception e){ e.printStackTrace(); }finally{ DbUtils.closeQuietly(conn); } } /****数据库连接*** */ public static Connection getConnection() { Connection conn = null; String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://127.0.0.1/springapp?useUnicode=true&characterEncoding=gb2312"; DbUtils.loadDriver(driver); try { conn = DriverManager.getConnection(url, "root", "root"); } catch (SQLException ex) { ex.printStackTrace(); } return conn; } }
- commons-dbutils-1.2-bin.zip (520.4 KB)
- 下载次数: 230
评论
3 楼
isaiahzhong
2013-01-17
说实在,非常喜欢DBUtils这个小巧的框架,封装了JDBC,怎么说呢?使用起来还是不如jdbcTemplate操作方便,不过代码非常简洁,大致上看了看看实际上就是三个方法,查询,增删改,批量操作,自学JDBC非常有帮助
2 楼
log_cd
2010-09-03
dbutils很少用!一般要往其它系统读/写点信息时才用下!
1 楼
bosshida
2010-09-03
用起来,感觉apache的dbutils与spring 的 jdbcTemplate差不多
但dbutils查询数据为空时,返回一个长度为零的对象,注意不为null;
jdbcTemplate对查询数据为空时,会抛出一个EmptyResultDataAccessException
个人觉得这是dbutils做得比较好的一面,
另一方面,jdbcTemplate对查询结果为map,list时,不需要额外的实现Handler,
只需要调用queryForMap(SqlString, Params[])这个方法,
比dbutils的query(SqlString, xxxHandler, params[])方法简便
但dbutils查询数据为空时,返回一个长度为零的对象,注意不为null;
jdbcTemplate对查询数据为空时,会抛出一个EmptyResultDataAccessException
个人觉得这是dbutils做得比较好的一面,
另一方面,jdbcTemplate对查询结果为map,list时,不需要额外的实现Handler,
只需要调用queryForMap(SqlString, Params[])这个方法,
比dbutils的query(SqlString, xxxHandler, params[])方法简便
发表评论
-
使用zxing.jar生成二维码
2015-10-15 13:52 01、ZxingCodeUtils /** * 使用Zx ... -
Java生成条形码与二维码
2015-09-29 11:02 0一、一维条形码 /** * 利用jbarcode.ja ... -
将html特殊码( &#x)转换成字符
2015-06-09 11:54 0public static void main(St ... -
unicode码的分布情况
2014-06-25 16:33 0******************************* ... -
使用servicemix实现FTP连接池
2013-06-13 13:17 0一、配置文件 <?xml version=" ... -
嵌入式运行HttpServer
2015-06-30 13:14 1759一、嵌入式运行Jetty并提供上传文件功能 1、定义处理请求的 ... -
Windows命令与BAT脚本示例整理
2013-05-30 16:50 0一、将后缀后为".txt-"的文件全部重命 ... -
使用Quartz执行定时任务
2012-05-24 11:00 0一、在application中运用 (1)定义任务 pac ... -
java访问FtpSever
2011-10-09 15:18 0使用apache common-net包来实现。 ... -
有关Hibernate Tools的使用
2010-12-24 15:20 0<一>、生成实体(Entiry)时,自定义反向生成 ... -
使用iText-2.1.7生成PDF
2010-11-25 21:30 0public class PDFUtil { /* ... -
使用iText-2.1.7生成word
2010-11-25 21:17 0public class RTFUtil { pu ... -
FusionCharts参数说明
2010-04-08 12:51 0功能特性 animation ... -
使用ant.jar进行文件zip压缩
2010-02-02 11:40 12506import java.io.BufferedInputS ... -
使用struts2中的codebehind插件
2010-01-11 13:10 0codebehind plugin是一个可以简化struts2 ... -
使用JUnit4
2010-01-04 14:23 3025一、介绍 JUnit4 基本 ... -
Eclipse JPA Plugin
2010-01-04 14:21 8872一、Hibernate Tools Hibernate ... -
关于Apache Mina
2009-11-18 10:13 7528一、介绍 MINA(Multipurpose Infr ... -
json-lib使用
2009-09-16 09:17 15305一、资源链接: http://json-lib.sourcef ... -
ant 使用
2009-07-16 14:58 0一、安装与配置 下载地址:http://ant.ap ...
相关推荐
apache commons dbutils api_zh
Apache Commons DbUtils 1.6 API 是一个Java库,它为数据库操作提供了简化的、异常安全的工具。这个API设计的目的是为了简化JDBC(Java Database Connectivity)编程,减轻开发人员处理数据库连接、事务和结果集时的...
Apache Commons DBUtils 是一个基于 Apache Commons JDBC 的轻量级数据库操作库,它简化了 Java 应用程序中的数据库访问,特别是在执行 SQL 查询和处理结果集时。DBUtils 提供了一种安全、简单的方式来处理数据库...
Apache Commons DBUtils 1.4 是一个开源的Java库,它是针对Java Database Connectivity (JDBC) API的一个实用工具集。这个库旨在简化数据库操作,使开发者能够更方便、更安全地处理数据库连接和数据操作。DBUtils的...
Apache Commons DbUtils 是一个开源的 Java 库,它是 Apache Commons 项目的一部分,旨在为 Java 开发者提供一种简单且安全的方式来处理 JDBC(Java Database Connectivity)操作。DbUtils 的设计目标是减少那些繁琐...
《Apache Commons DBUtils详解及其在Java数据库操作中的应用》 Apache Commons DBUtils是Apache软件基金会开发的一个开源项目,它提供了一套简洁、高效且实用的工具类,用于简化Java应用程序中的数据库操作。这个...
赠送jar包:commons-dbutils-1.7.jar; 赠送原API文档:commons-dbutils-1.7-javadoc.jar; 赠送源代码:commons-dbutils-1.7-sources.jar; 赠送Maven依赖信息文件:commons-dbutils-1.7.pom; 包含翻译后的API文档...
Apache Commons DBUtils是一个Java库,它为数据库操作提供了一些实用工具和帮助类,极大地简化了JDBC编程。这个"commons-dbutils-1.7.zip"压缩包包含了版本1.7的DBUtils库,这是一个在2005年发布的稳定版本。DBUtils...
数据库查询工具包 Commons-DbUtils 1.5 api 文档,官方下载,原创制作
`commons-dbutils.jar.rar` 是一个包含Apache Commons DBUtils库的不同版本的压缩文件,主要用于Java应用程序中的数据库操作。DBUtils是一个实用程序库,它简化了JDBC(Java Database Connectivity)的使用,提供了...
commons-dbutils的再封装jar包,Blog文件的示例代码
使用了Apache Commons DbUtils库中的类和方法封装JDBC,使用了org.apache.commons.dbutils.QueryRunner、org.apache.commons.dbutils.handlers.BeanHandler和org.apache.commons.dbutils.handlers.BeanListHandler等...
commons-dbutils包是Apache开源组织提供的用于操作数据库的工具包。简单来讲,这个工具包就是用来更加方便我们操作数据库的,最近工作中使用了一下,感觉确实方便很多,基本告别自己封装JDBC代码对数据库进行增删改...
### Apache Commons DbUtils工具包使用介绍 #### 一、简介 **Apache Commons DbUtils** 是一个用于简化 Java JDBC 操作的轻量级工具包。它通过封装 JDBC 的基础功能,帮助开发者减少冗余代码,提高代码的可读性...
Apache Commons DBUtils是一个Java库,它简化了与数据库交互的任务,是Java开发中常用的数据访问工具。这个压缩包“commons-dbutils-1.3.zip”包含的是DBUtils库的1.3版本。DBUtils库是Apache Commons项目的一部分,...
apache commons jar(commons所有的jar包,从官网下载提供给大家) 因为涉及jar太多,包括有src源代码,只需要3分,希望大家理解,我也是从官网花了很长时间才一个一个下完,需要的请自取。全部是zip文件,每个对应的...
Apache Commons DBUtils是一个Java库,它为处理数据库连接提供了简单且健壮的工具。这个压缩包文件"commons-dbutils-1.6.rar"包含了DBUtils的1.6版本,这是一个非常受欢迎的开源项目,用于简化Java数据库编程。...
Apache Commons DBUtils是Java开发中的一个实用工具库,主要用于简化JDBC(Java Database Connectivity)的使用。这个项目在1.6版本中包含了两个主要的jar文件:`commons-dbutils-1.6.jar`和`commons-dbutils-1.6-...
Apache Commons DbUtils是Java开发中的一个实用工具库,专门针对JDBC(Java Database Connectivity)进行优化,以提供更简洁、高效的数据库操作API。这个库在Java社区中广泛使用,因为它大大减轻了开发者处理数据库...