- 浏览: 1098488 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
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 1749一、嵌入式运行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 12485import java.io.BufferedInputS ... -
使用struts2中的codebehind插件
2010-01-11 13:10 0codebehind plugin是一个可以简化struts2 ... -
使用JUnit4
2010-01-04 14:23 3013一、介绍 JUnit4 基本 ... -
Eclipse JPA Plugin
2010-01-04 14:21 8867一、Hibernate Tools Hibernate ... -
关于Apache Mina
2009-11-18 10:13 7513一、介绍 MINA(Multipurpose Infr ... -
json-lib使用
2009-09-16 09:17 15299一、资源链接: 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 1.4 是一个开源的Java库,它是针对Java Database Connectivity (JDBC) API的一个实用工具集。这个库旨在简化数据库操作,使开发者能够更方便、更安全地处理数据库连接和数据操作。DBUtils的...
EnhancedJDBC是一个基于Apache Commons DbUtils构建并扩展其功能的纯JDBC持久层工具,项目包含410个文件,主要由401个Java源文件组成,辅以少量批处理脚本、Markdown文档、版本控制忽略文件、许可协议文件、XML配置...
Apache Commons DBUtils 是一个基于 Apache Commons JDBC 的轻量级数据库操作库,它简化了 Java 应用程序中的数据库访问,特别是在执行 SQL 查询和处理结果集时。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文档...
数据库查询工具包 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社区中广泛使用,因为它大大减轻了开发者处理数据库...