- 浏览: 563269 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (350)
- Sybase (30)
- SQL SERVER2005 (14)
- 数据库 (27)
- SSH框架 (27)
- WebService (21)
- 下载-软件收藏 (15)
- 随笔-日常使用 (9)
- Flex 相关 (13)
- Linux (11)
- Web (64)
- XML相关 (9)
- Socket相关 (1)
- Elipse (3)
- 统计报表 (11)
- 线程相关 (3)
- Java相关 (37)
- JAVASCRIPT (19)
- JAVA反射 (3)
- JSP标签 (3)
- 随笔-其他 (2)
- 随笔-设计模式 (3)
- 随笔-架构师相关 (1)
- 下载-源码 (7)
- 下载-帮助文档 (1)
- 下载-插件 (6)
- 技术-.NET (2)
- 技术-Excel VBA (8)
- 应用-地图相关 (2)
- 应用-GSM短信猫 (5)
- 应用-单点登录 (3)
- Android相关 (3)
最新评论
-
sucheng2016:
发现jconn4.jar 里面有getBlob(String) ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
sucheng2016:
java.lang.UnsupportedOperationE ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
ok123zxx:
没下文了吗
通过 Tomcat Advanced I/O 获得高性能的 Ajax tocmat6+CometProcessor -
q1345111:
大家这个问题 尚未完成方法 com.sybase.jdbc3. ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
bdk82924:
heshujing217187 写道问题同1楼一样,求解!换j ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver
DbUtils的使用
今天在看一段源码的时候,看到了可以使用DbUtils来操作Jdbc
大致研究了DbUtils ,它对Jdbc的操作进行了二次封装,这样我们对数据库的操作就更加方便了,有时间的话大家一定要研究下
http://cuics-100.iteye.com/blog/841207
这篇文章解读了DbUtils的源码 ,其实源码并不是太复杂,大家可以把源码包下载下来看看
http://baike.baidu.com/view/4877026.htm
百度百科
http://commons.apache.org/dbutils/
DbUtils官网
研究了一段 使用 org.apache.commons.dbutils.handlers的代码
结果
今天在看一段源码的时候,看到了可以使用DbUtils来操作Jdbc
大致研究了DbUtils ,它对Jdbc的操作进行了二次封装,这样我们对数据库的操作就更加方便了,有时间的话大家一定要研究下
http://cuics-100.iteye.com/blog/841207
这篇文章解读了DbUtils的源码 ,其实源码并不是太复杂,大家可以把源码包下载下来看看
http://baike.baidu.com/view/4877026.htm
百度百科
http://commons.apache.org/dbutils/
DbUtils官网
研究了一段 使用 org.apache.commons.dbutils.handlers的代码
package dbutils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.ResultSetHandler; import org.apache.commons.dbutils.handlers.*; public class HandlersExample { public static void main(String[] args) { Connection conn = null; String url = "jdbc:sybase:Tds:10.47.181.179:4100?language=us_english"; String jdbcDriver = "com.sybase.jdbc3.jdbc.SybDriver"; String user = "sa"; String password = ""; DbUtils.loadDriver(jdbcDriver); try { conn = DriverManager.getConnection(url, user, password); QueryRunner qr = new QueryRunner(); // 插入一条数据 qr.update(conn, "insert into zxinweb..guestbook(id,name) values (5,'name5')"); // 采用ArrayHandler方式查询单条记录 System.out.println("....ArrayHandler...."); Object[] r1 = qr.query(conn, "select id,name from zxinweb..guestbook where id =5", new ArrayHandler()); for (int i = 0; i < r1.length; i++) { System.out.print(r1[i] + " "); } System.out.println(""); // 采用ArrayListHandler方式查询 多条记录 System.out.println("....ArrayListHandler...."); List r2 = qr.query(conn, "select id,name from zxinweb..guestbook", new ArrayListHandler()); for (int i = 0; i < r2.size(); i++) { Object[] o = (Object[]) r2.get(i); for (int x = 0; x < o.length; x++) { System.out.print(o[x] + " "); } System.out.println(" "); } // 采用BeanHandler方式查询 单条记录 System.out.println("....BeanHandler...."); Guestbook r3 = (Guestbook) qr.query(conn, "select id,name from zxinweb..guestbook", new BeanHandler( Guestbook.class)); System.out.println(r3); // 采用BeanListHandler方式查询 System.out.println("....BeanListHandler...."); List<Guestbook> r4 = (List) qr.query(conn, "select id,name from zxinweb..guestbook", new BeanListHandler( Guestbook.class)); for (int i = 0; i < r4.size(); i++) { Guestbook gb = r4.get(i); System.out.println(gb); } // 采用BeanMapHandler方式查询 查询多条 System.out.println("....BeanMapHandler...."); ResultSetHandler<Map<Integer, Guestbook>> h5 = new BeanMapHandler(Guestbook.class, "id"); Map<Integer, Guestbook> r5 = qr.query(conn, "select id,name from zxinweb..guestbook", h5); Guestbook g5 = r5.get(1); // jane's id is 1 Iterator<Entry<Integer, Guestbook>> it5 = r5.entrySet().iterator(); while (it5.hasNext()) { System.out.println(it5.next()); } // 采用ColumnListHandler方式查询 获取单个字段多条记录 System.out.println("....ColumnListHandler...."); List lName = (List) qr.query(conn, "select id,name from zxinweb..guestbook", new ColumnListHandler("name")); for (int i = 0; i < lName.size(); i++) { String name = (String) lName.get(i); System.out.println(name); } // 采用KeyedHandler方式查询 单个字段多条 System.out.println("....KeyedHandler...."); ResultSetHandler h7 = new KeyedHandler("id"); Map map7 = (Map) qr.query(conn, "select id, name from zxinweb..guestbook", h7); Iterator<Entry<Integer, Map<String, String>>> it7 = map7.entrySet().iterator(); while (it7.hasNext()) { Entry<Integer, Map<String, String>> entry = it7.next(); System.out.println(entry.getKey() + " " + entry.getValue().get("name")); } // 采用MapHandler方式查询 单条记录 System.out.println("....MapHandler...."); Map map8 = (Map) qr.query(conn, "select id,name from zxinweb..guestbook where id =5 ", new MapHandler()); if (map8 != null) { System.out.println(map8.get("name")); } // 采用MapListHandler方式查询 System.out.println("....MapListHandler...."); List results2 = (List) qr.query(conn, "select id,name from zxinweb..guestbook", new MapListHandler()); for (int i = 0; i < results2.size(); i++) { Map gb = (Map) results2.get(i); System.out.println(gb.get("id") + " " + gb.get("name")); } // 采用ScalarHandler方式查询 System.out.println("....ScalarHandler...."); String name = (String) qr.query(conn, "select id,name from zxinweb..guestbook where id =5", new ScalarHandler("name")); System.out.println(name); // 删除一条数据 qr.update(conn, "delete from zxinweb..guestbook where id =5 "); } catch (SQLException e) { e.printStackTrace(); } finally { DbUtils.closeQuietly(conn); } } }
结果
....ArrayHandler.... 5 name5 ....ArrayListHandler.... 1 name1 2 name2 5 name5 ....BeanHandler.... dbutils.Guestbook:[ id:1 name:name1] ....BeanListHandler.... dbutils.Guestbook:[ id:1 name:name1] dbutils.Guestbook:[ id:2 name:name2] dbutils.Guestbook:[ id:5 name:name5] ....BeanMapHandler.... 1=dbutils.Guestbook:[ id:1 name:name1] 2=dbutils.Guestbook:[ id:2 name:name2] 5=dbutils.Guestbook:[ id:5 name:name5] ....ColumnListHandler.... name1 name2 name5 ....KeyedHandler.... 1 name1 2 name2 5 name5 ....MapHandler.... name5 ....MapListHandler.... 1 name1 2 name2 5 name5 ....ScalarHandler.... name5
- commons-dbutils-1.5-bin.zip (584.3 KB)
- 下载次数: 0
- commons-dbutils-1.5-src.zip (140.4 KB)
- 下载次数: 0
发表评论
-
Docker 开源的应用容器引擎
2015-05-17 21:15 802Docker 是一个开源的应用容器引擎,让开发者可以打包他们 ... -
Mysql 的语法
2015-05-17 20:54 5301、启动 停止 bin/mysql.server star ... -
Ext Textfield框必填项 *号
2014-03-10 16:59 2660方法1:在items中加*号 var shortNam ... -
Struts2中查看Action配置的插件 -- Config Browser Plugin
2014-03-06 09:38 962(摘自官方介绍: http://struts.apache.o ... -
基于Spring的Rest服务中乱码问题
2013-12-10 18:45 15604Spring搭建的Rest服务端 在使用客户端调用Rest ... -
tomcat 报 “too many open files Too many open files" 问题的解决思路
2013-11-03 01:43 1615转:http://blog.csdn.net/big1980/ ... -
jsp的合并单元格
2013-05-27 08:59 1563合并单元格 <!DOCTYPE HTML PUBL ... -
tomcat 启动报错,日志不全如何检查
2013-04-10 15:30 1953有的时候由于某个配置错误,导致tomcat启动失败,但是呢日志 ... -
通过 Tomcat Advanced I/O 获得高性能的 Ajax tocmat6+CometProcessor
2013-03-20 16:02 2965最近项目上有个需求用到了Tomcat的后台推送技术,采用了非阻 ... -
表头固定表格jquery.chromatable
2013-03-09 14:08 1372直接上图吧 -
Spring MVC的使用
2013-02-07 15:42 829以前一直使用Struct2的MVC框架,感觉挺好用的,也 ... -
转 TortoiseSVN中分支和合并实践
2013-01-31 11:13 863转 TortoiseSVN中分支和合并实践 http://p ... -
Git的使用
2013-01-31 09:24 1757版本控制 从最早使用vs ... -
管理JDBC连接池jar包c3p0
2013-01-29 11:45 1549com.mchange.v2.c3p0.ComboPooled ... -
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver
2013-01-28 19:48 13274com.sybase.jdbc3.jdbc.SybDriver ... -
Apache+tomcat配置集群
2013-01-22 19:30 1007直接上图 下载 http://download.cs ... -
Apache + Tomcat 配置多个应用
2013-01-22 19:05 1143今天在网上发现一篇帖子 ,Apache + Tomcat 配置 ... -
RSS的读取和发布
2013-01-22 15:53 1708这几天研究了RSS RSS(简易信息聚合,也叫聚合内容)是 ... -
NoSQL非关系型数据库
2013-01-22 15:39 936转:http://baike.baidu.com/view/2 ... -
短网址的原理和实现
2013-01-22 15:36 15364微博上经常会看到类似 http://t.cn/Afafhe 这 ...
相关推荐
压缩包中存在DbUtils使用说明文档、jar包以及一个使用样例。commons-dbutils 是 Apache 组织提供的一个开源 JDBC 工具类库,对传统操作数据库的类进行二次封装,可以把结果集转化成List。
使用 Commons dbutils 可以极大地简化 JDBC 编程,避免了许多手动处理连接、声明和结果集的工作,同时也提高了代码的可读性和可维护性。例如,使用 `QueryRunner` 执行查询和更新操作时,只需要提供 SQL 语句、参数...
### _dbutils使用说明 #### 一、Commons-dbutils概览 Commons-dbutils是Apache Commons项目下的一款用于简化Java数据库操作的工具库。它对标准的JDBC API进行了封装,提供了更简洁、易用的接口,尤其适用于频繁...
以下是一个简单的DBUtils使用示例,展示如何执行一个查询并处理结果: ```java import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.ResultSetHandler; import org.apache.commons....
在使用 DBUtils 时,需要注意以下几点: 1. **混用 JDBC 和 DBUtils**:DBUtils 并不是完全替代 JDBC 的解决方案,而是对其进行了一层简单的封装。在需要的地方,你可以将 DBUtils 与原生的 JDBC 代码混合使用,以...
DBUtils 使用的jar commons-dbutils-1.3.jar commons-dbutils-1.4.jar commons-dbutils-1.5.jar commons-dbcp-1.2.1.zip commons-collections-3.1.jar
本文介绍了如何使用apache dbutils。主要以测试代码介绍。本文的代码使用了dbcp,请参见文章:dbutils与dbcp整合
commons-dbutils 是 Apache 组织提供的一个开源 JDBC 工具类库,对传统操作数据库的类进行二次封装,可以把结果集转化成List。 Commons dbutils主要相关类及接口的简介: 主要讲解两个类(org.apache.commons....
Apache Commons dbutils 是一个在互联网和计算机科学领域中广泛使用的开源工具库,专门针对Java的JDBC(Java Database Connectivity)进行简化和优化。这个库的主要目的是为了减轻开发人员在处理数据库操作时的工作...
在Java编程中,尤其是在处理数据库操作时,Apache Commons DBUtils库是一个非常实用的工具,它简化了JDBC(Java Database Connectivity)的使用。DBUtils提供了一种更安全、更易于管理的方式来进行数据库交互,避免...
在本实例中,我们将深入探讨DButils的核心功能和使用方法。 1. **连接池管理** DButils支持多种数据库连接池,如C3P0、DBCP、HikariCP等。连接池是数据库管理的关键组件,它能够有效地重用数据库连接,减少创建和...
使用DBUtils,我们可以方便地进行数据库的CRUD操作,而无需关注底层的连接管理细节。 总结来说,数据库连接池和DBUtils是Java开发中优化数据库性能的重要工具。通过合理使用,不仅可以提高程序效率,还能有效管理和...
3. 连接管理:DBUtils使用DataSource接口管理数据库连接,遵循JDBC连接池规范,提高了性能并减少了资源消耗。 4. 结果集处理:DBUtils提供了BeanHandler、MapHandler等处理结果集的工具,可以将结果集直接转换为...
DBUtils使用连接池管理数据库连接。在实际应用中,需要配置连接池的参数,如数据库URL、用户名、密码等。以下是一个使用DBCP连接池的示例配置: ```java Properties props = new Properties(); props.setProperty(...
- **异常处理**: dbutils 使用了统一的异常处理机制,所有与数据库交互相关的异常都被封装为 `DbUtils.DbException`,简化了错误处理流程。 **2. 使用 dbutils 执行 SQL** 使用 dbutils,你可以按照以下步骤执行 ...
7. **安全性**:DBUtils使用PreparedStatement来防止SQL注入攻击,这是处理用户输入数据时的一个重要安全措施。 8. **API简洁**:DBUtils的API设计简洁明了,学习成本低,易于理解和使用。 在描述中提到的"这个...
1.2 高效执行:DBUtils使用Statement和PreparedStatement接口,优化了批处理和查询操作,提高了性能。 1.3 简化数据库操作:它提供了QueryRunner类,封装了CRUD(创建、读取、更新、删除)操作,使数据库交互变得...
Apache Common DbUtils是操作数据库的组件,对传统操作数据库的类(JDBC)进行二次封装,可以把结果集转化成List。 DbUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。 应用实践小结: 一、...
使用 DBUtils 可以显著提高数据库操作的稳定性和效率,特别是在Web服务、数据分析或其他大规模数据处理项目中。通过合理的配置和使用,DBUtils 可以帮助开发者构建更加健壮、高效的数据库应用。 在实际应用中,例如...
- **数据库连接管理**:DBUtils使用连接池管理数据库连接,提高了性能,避免了资源浪费。默认使用的是Jakarta DBCP,但也可以与其他连接池(如C3P0、HikariCP)配合使用。 - **异常处理**:DBUtils对JDBC的异常...