- 浏览: 716599 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (389)
- flex (150)
- java (55)
- flex_sharedObject (4)
- iphone/android (7)
- red5 (4)
- blazeds (19)
- ajax (3)
- flex&java (9)
- 聊天室 (2)
- flex的问题 (1)
- game (8)
- flex_xml (1)
- flex组件学习 (2)
- JGroups (1)
- 中转站 (2)
- ruby (7)
- flex_js (5)
- C/C++ (14)
- perl (2)
- db (13)
- air (10)
- hibernate (8)
- flash_flex_as_3d (2)
- struts (4)
- dwr (8)
- freemarker (2)
- AS (22)
- 工具 (6)
- js_jquery_ext_yui (4)
- .net (1)
- C# (1)
- 前端 (1)
最新评论
-
136900923:
您好,您的代码我不是很懂,我想跟您交流一下,我的qq邮箱:13 ...
hibernate做无限极菜单树如此简单 -
fykyx521:
两个同一个功能
flex_flush_Socket 安全沙箱解决 -
ustb:
你上下两个代码类之间没关系
flex_flush_Socket 安全沙箱解决 -
u010656335:
...
flex发送QQ表情 -
u010656335:
flex发送QQ表情
一、关于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()
二、例子
Java代码
1. public class TestDbUtils {
2.
3. /**
4. * BeanListHandler :将ResultSet中所有的数据转化成List,
List中存放的是类对象
5. */
6. public static void getBeanListData() {
7. Connection conn = getConnection();
8. QueryRunner qr = new QueryRunner();
9. try {
10. ResultSetHandler rsh = new BeanHandler
(TUser.class);
11. TUser usr = (TUser) qr.query(conn,"SELECT
id,username,gender FROM t_user WHERE id=10000",rsh);
12. System.out.println(StringUtils.center("findById",
50, '*'));
13. System.out.println("id=" + usr.getId() + " name=" +
usr.getUsername() + " gender=" + usr.getGender());
14.
15. List results = (List) qr.query(conn,"SELECT
id,username,gender FROM t_user",
16. new BeanListHandler(TUser.class));
17. System.out.println(StringUtils.center("findAll",
50, '*'));
18. for (int i = 0; i < results.size(); i++) {
19. TUser user = (TUser) results.get(i);
20. System.out.println("id=" + user.getId() + "
name=" + user.getUsername() + " gender=" + user.getGender());
21. }
22. } catch (SQLException e) {
23. e.printStackTrace();
24. } finally {
25. DbUtils.closeQuietly(conn);
26. }
27. }
28.
29. /**
30. * MapListHandler :将ResultSet中所有的数据存成List。List中
存放的是Map
31. */
32. public static void getMapListData() {
33. Connection conn = getConnection();
34. QueryRunner qr = new QueryRunner();
35. try {
36. List results = (List) qr.query(conn,"SELECT
id,username,gender FROM t_user",
37. new MapListHandler());
38. for (int i = 0; i < results.size(); i++) {
39. Map map = (Map) results.get(i);
40. System.out.println("id=" + map.get("id") + "
name=" + map.get("username") + " gender=" + map.get("gender"));
41. }
42. } catch (SQLException e) {
43. e.printStackTrace();
44. } finally {
45. DbUtils.closeQuietly(conn);
46. }
47. }
48.
49. /**
50. *新增和更新例子
51. */
52. public static void insertAndUpdateData(){
53. Connection conn = getConnection();
54. QueryRunner qr = new QueryRunner();
55. try{
56. //创建一个数组来存要insert的数据
57. Object[] insertParams = {"John Doe",
"000000","男"};
58. int inserts = qr.update(conn, "INSERT INTO t_user
(username,password,gender) VALUES (?,?,?)",
59. insertParams );
60. System.out.println("inserted " + inserts + "
data");
61.
62. Object[] updateParams = {"111111", "John Doe"};
63. int updates = qr.update(conn, "UPDATE t_user SET
password=? WHERE username=?",
64. updateParams );
65. System.out.println("updated "+ updates + " data");
66. }catch (SQLException e) {
67. e.printStackTrace();
68. } finally {
69. DbUtils.closeQuietly(conn);
70. }
71. }
72.
73. /**
74. * Unlike some other classes in DbUtils, this class
(SqlNullCheckedResultSet) is NOT thread-safe.
75. */
76. public static void findUseSqlNullCheckedResultSet(){
77. Connection conn = getConnection();
78. try{
79. Statement stmt = conn.createStatement();
80. ResultSet rs = stmt.executeQuery("SELECT id,
username, gender FROM t_user");
81. SqlNullCheckedResultSet wrapper = new
SqlNullCheckedResultSet(rs);
82. wrapper.setNullString("N/A"); // Set null string
83. rs = ProxyFactory.instance().createResultSet
(wrapper);
84.
85. while(rs.next()){
86. System.out.println("id="+rs.getInt("id") + "
username=" + rs.getString("username")
87. + " gender="+rs.getString("gender"));
88. }
89.
90. rs.close();
91. }catch(Exception e){
92. e.printStackTrace();
93. }finally{
94. DbUtils.closeQuietly(conn);
95. }
96. }
97.
98. /****数据库连接*** */
99. public static Connection getConnection() {
100. Connection conn = null;
101. String driver = "com.mysql.jdbc.Driver";
102. String url = "jdbc:mysql://127.0.0.1/springapp?
useUnicode=true&characterEncoding=gb2312";
103.
104. DbUtils.loadDriver(driver);
105.
106. try {
107. conn = DriverManager.getConnection(url, "root",
"root");
108. } catch (SQLException ex) {
109. ex.printStackTrace();
110. }
111. return conn;
112. }
113.
114. }
发表评论
-
android Activity注解方式获取UI实例 绑定事件
2013-04-27 14:30 2140使用注释方式代替findVIewById 并绑定事件 示 ... -
SQL server ResultSet is Read only
2010-07-08 14:48 1012//stmt = cn.createStat ... -
java问题
2010-04-27 12:49 5961.一个空的index.jsp,结果还是出现了NullPoin ... -
JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta
2010-04-07 11:21 1738http://www.2mysite.net/Article/ ... -
jconsole的使用手册
2010-04-07 11:19 794http://hi.baidu.com/xuwanbest/b ... -
程序员对于市场的反应能力
2010-03-19 17:18 700去年iphone ,i ... -
string stringbuffer区别
2010-03-16 18:09 917转:http://blog.csdn.net/yirentia ... -
ArrayList Vector LinkedList 区别与用法
2010-03-10 22:15 668http://www.cnblogs.com/mgod/arc ... -
AOP里面3个概念Advice,PointCut,Advisor(转载)
2010-03-10 22:04 2515文章分类:Java编程 http:// ... -
Apache Tomcat on mac.
2010-03-07 18:19 1184转:http://llleooo.spaces.live ... -
手工编译jsp
2010-03-01 15:46 1698A java-classpath jasper.jar;ser ... -
Java安装后JDK/bin目录下的众多exe文件的用途
2010-01-26 13:22 877http://nanhaochen.blog.51ct ... -
jsp tag标签 SKIP_BODY,EVAL_PAGE,EVAL_BODY_INCLUDE,EVAL_BODY_AGAIN返回值的各个含义及区别
2010-01-15 12:58 3031http://blog.csdn.net/achun2050/ ... -
远程控制TOMCAT启动
2010-01-12 16:59 1521http://www.java-cn.com/club/? ... -
java js获取来源页面
2009-12-15 11:14 1875java 获取来源页面:System.out.println( ... -
开源协议简介BSD、Apache Licence、GPL、LGPL、MIT
2009-12-14 09:47 1161http://gchuyun.iteye.com/blog/2 ... -
ant build.xml详解
2009-12-08 11:12 1305http://xiaobian.iteye.com/blog/ ... -
java -jar -classpath
2009-12-03 16:03 1964突然发现自己不会命令行运行程序 http://www.zea ... -
javaFile路径空格问题
2009-11-26 16:20 1094File file =new FIle(URI);用这个 M ... -
ffmpeg截图
2009-11-17 15:26 1329http://forum.mox.cc/posts/list/ ...
相关推荐
赠送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.6.jar`: 相对于1.3版,可能会有性能改进、bug修复和新功能的添加。 - `commons-dbutils-1.7.jar`: 最新版本,通常会提供更好的兼容性和更多的改进。 5. **使用场景** DBUtils适用于那些...
这个项目在1.6版本中包含了两个主要的jar文件:`commons-dbutils-1.6.jar`和`commons-dbutils-1.6-sources.jar`。 `commons-dbutils-1.6.jar`是运行时库,它提供了大量的静态方法来处理数据库操作。这个库的核心...
在实际项目中,"commons-dbutils-1.4.jar"可以与Apache的另一个项目——Apache Commons DBCP(数据库连接池)配合使用,以实现数据库连接的池化管理,进一步提升系统性能。例如,可以通过BasicDataSource来配置和...
这个压缩包文件"commons-dbutils-1.6.rar"包含了DBUtils的1.6版本,这是一个非常受欢迎的开源项目,用于简化Java数据库编程。DBUtils的核心理念是通过提供实用程序类来消除JDBC的繁琐和易错性,使开发人员能够更专注...
commons-dbutils-1.6.jar
这个"commons-dbutils-1.4 bin+src"压缩包包含两个关键文件:`commons-dbutils-1.4-sources.jar`和`commons-dbutils-1.4.jar`。 1. `commons-dbutils-1.4.jar`: 这是DBUtils库的二进制版本,包含了编译后的Java类...
这个压缩包“commons-dbutils-1.3.zip”包含的是DBUtils库的1.3版本。DBUtils库是Apache Commons项目的一部分,旨在提供一个简单、安全的方式来处理数据库操作,减少与数据库交互时出现的常见错误。 DBUtils的核心...
这个"commons-dbutils-1.5"版本是DBUtils项目的早期稳定版本,它包含了对早期JDBC API的良好封装,旨在减少代码量并提高容错性。 DBUtils的核心设计理念是基于数据库操作的事务管理和异常处理,它通过简化常见任务...
commons-dbutils.jar是在java架构开发时十分重要的一款.jar包,正确的使用commons dbutils可以让你的开发事半功倍,如果您在开发过程中缺少这款jar包,马上来下载commonsdbutils jar包吧! 软件功能: commons-...
1. **commons-dbutils-1.3**: Commons-DbUtils是Apache的一个开源项目,它提供了一个简单且实用的数据库操作工具包。DbUtils的主要功能包括:连接池管理、SQL执行、结果集处理等。DbUtils与JDBC结合使用,可以避免...
commons-dbutils包是Apache开源组织提供的用于操作数据库的工具包。简单来讲,这个工具包就是用来更加方便我们操作数据库的,最近工作中使用了一下,感觉确实方便很多,基本告别自己封装JDBC代码对数据库进行增删改...
这个"commons-dbutils-1.3"版本是该库的一个早期版本,但仍然在许多项目中广泛使用,因为它提供了一些核心功能,比如查询结果的处理和异常处理。 DBUtils的核心功能主要包括以下几个方面: 1. **结果集处理**:...
Apache Commons DbUtils是Java开发中的一个实用工具库,专门针对JDBC(Java Database Connectivity)进行优化,以提供更简洁、高效的数据库操作API。这个库在Java社区中广泛使用,因为它大大减轻了开发者处理数据库...
包org.apache.commons.dbutils DbUtils是一个为简化JDBC操作的小类库. 接口摘要 ResultSetHandler 将ResultSet转换为别的对象的工具. RowProcessor 将ResultSet行转换为别的对象的工具. 类摘要 BasicRowProcessor ...
这个"commons-dbutils-1.2.rar"文件包含了Apache Commons DBUtils的1.2版本,这是一个历史悠久且广泛使用的开源组件,适用于Java开发人员。 Apache Commons DBUtils的核心功能包括: 1. **查询处理**:DBUtils提供...
标题提到的"commons-dbutils-1.3-bin.zip"正是这个库的1.3版本的二进制包。接下来,我们将深入探讨Apache Commons DBUtils以及它在Java Web应用中的作用。 Apache Commons DBUtils是Apache软件基金会开源项目之一,...
commons-dbutils的再封装jar包,Blog文件的示例代码