- 浏览: 1089956 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
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 1690一、嵌入式运行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 12420import java.io.BufferedInputS ... -
使用struts2中的codebehind插件
2010-01-11 13:10 0codebehind plugin是一个可以简化struts2 ... -
使用JUnit4
2010-01-04 14:23 2942一、介绍 JUnit4 基本 ... -
Eclipse JPA Plugin
2010-01-04 14:21 8834一、Hibernate Tools Hibernate ... -
关于Apache Mina
2009-11-18 10:13 7445一、介绍 MINA(Multipurpose Infr ... -
json-lib使用
2009-09-16 09:17 15254一、资源链接: 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,网页形式的api文档
Apache commons dbutils 1.4jar是JDBC的开源数据库工具包
apache commons dbutils实现增删改查功能
Apache Commons DbUtils 包是一组用于简化 JDBC 开发的 Java 实用程序类。原则上这不能说是一个持久层框架,它提供了一些Jdbc的操作封装来简化数据查询和记录读取操作
赠送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包,Blog文件的示例代码
apache commons jar(commons所有的jar包,从官网下载提供给大家) 因为涉及jar太多,包括有src源代码,只需要3分,希望大家理解,我也是从官网花了很长时间才一个一个下完,需要的请自取。全部是zip文件,每个对应的...
commons-dbutils包是Apache开源组织提供的用于操作数据库的工具包。简单来讲,这个工具包就是用来更加方便我们操作数据库的,最近工作中使用了一下,感觉确实方便很多,基本告别自己封装JDBC代码对数据库进行增删改...
主要介绍了Apache Commons DbUtils工具包使用介绍,本文介绍了DBUtils是什么东西、熟悉DBUtils的一些问题、API介绍等内容,需要的朋友可以参考下
org apache commons dbutils org apache commons dbutils handlers org apache commons dbutils wrappers DBUtils封装了对JDBC的操作 简化了JDBC操作 可以少写代码 org apache commons dbutils DbUtils 关闭链接等...
commons-dbutils-1.4jar包,让你在java内对数据库的操作更加简单
commons-dbutils 是 Apache 组织提供的一个...主要讲解两个类(org.apache.commons.dbutils.DbUtils 和org.apache.commons.dbutils.QueryRunner)和一个接口(org.apache.commons.dbutils.ResultSethandler)。 ......
commons-dbutils
包org.apache.commons.dbutils DbUtils是一个为简化JDBC操作的小类库. 接口摘要 ResultSetHandler 将ResultSet转换为别的对象的工具. RowProcessor 将ResultSet行转换为别的对象的工具. 类摘要 BasicRowProcessor ...
uncommons-dbutils 现代化分支。 目的是制作更灵活的 API 并修复以前的设计错误,同时保持原始的小尺寸和紧密关注。 完整文档位于特征交易支持通过异步查询轻量级:执行查询并将ResultSet映射到对象。 就这样。 使用...
commons-dbutils.jar是在java架构开发时十分重要的一款.jar包,正确的使用commons dbutils可以让你的开发事半功倍,如果您在开发过程中缺少这款jar包,马上来下载commonsdbutils jar包吧! 软件功能: commons-...
Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能
apache-commons下全部官方源码和官方API文档,其中有: commons-beanutils-1.8.0 commons-codec commons-collections commons-dbcp commons-dbutils commons-fileupload commons-io commons-lang commons-lang3 ...