- 浏览: 119561 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (135)
- java (135)
- [转]c# 画圆角矩形 (1)
- 设计模式生活实例 (1)
- .nET2.0小技巧 (1)
- 从另一个角度看敏捷实践(一)--IPM:承诺的仪式 (1)
- javascript字符串转json对象 (1)
- 使用BeanUtils时,Date类型值为空的解决方法 (1)
- Lenovo V460+Ubuntu 11.10 无线网问题 (1)
- Lucene 索引和搜索过程核心类详解 (1)
- Android短信编解码方式 (1)
- 股神巴菲特十大致富秘籍 (1)
- Map遍历的三种方法 (1)
- Android中用Toast.cancel()方法优化toast内容的显示 (1)
- ViewFlipper “Receiver not registered” Error (1)
- javax.xml.transform.TransformerFactoryConfigurationError (1)
- JNI调用的注意事项 (1)
- JUnit单元测试感悟 (1)
- 用C#写定时关机的程序 (1)
- ASP.NET开发工具Web Matrix介绍 (1)
- MapXtreme2004代码 MapControl控件中显示地图文件 (1)
- 《使用 Microsoft .NET 的企业解决方案模式》读书笔记3 (1)
- 微创短信开发平台 (1)
- 谈谈Q+平台的技术实现 (1)
- 手机防盗软件实现(源码) (1)
- 虚析构函数(总结 帖子) (1)
- c语言中去除const修饰 (1)
- ORA-01012: not logged on 解决办法 (1)
- paypal提现如何省钱 (1)
- 数独suduku (1)
- MyISAM InnoDB 区别 (1)
- 随 笔 (1)
- Android上的log,日志相关 (1)
- 百度质量部实习居然通过了~ (1)
最新评论
-
野狐禅:
ext.get('imagebrowse') is null
ExtJs上传图片预览功能 -
zhuyl_wind:
不切实际,呵呵
[]5年内买车买房-理财篇 -
in南京:
关键你那两千块钱就够交一个多月的房租!换个城市你那六百也远远不 ...
[]5年内买车买房-理财篇 -
javac_xinyun:
呵呵,看完了,确实不错,貌似第一年的房租每月算进去 ,人际关系 ...
[]5年内买车买房-理财篇 -
dishikun:
貌似很不错,就是没把房租算进去!
[]5年内买车买房-理财篇
dbutils is a small set of classes designed to make working with jdbc easier. jdbc resource cleanup code is mundane, error prone work so these classes abstract out all of the cleanup tasks from your code leaving you with what you really wanted to do with jdbc in the first place: query and update data.
some of the advantages of using dbutils are:
* no possibility for resource leaks. correct jdbc coding isn't difficult but it is time-consuming and tedious. this often leads to connection leaks that may be difficult to track down.
* cleaner, clearer persistence code. the amount of code needed to persist data in a database is drastically reduced. the remaining code clearly expresses your intention without being cluttered with resource cleanup.
* automatically populate javabean properties from resultsets. you don't need to manually copy column values into bean instances by calling setter methods. each row of the resultset can be represented by one fully populated bean instance.
dbutils is a very small library of classes so it won't take long to go through the javadocs for each class. the core classes/interfaces in dbutils are queryrunner and resultsethandler. you don't need to know about any other dbutils classes to benefit from using the library.
each of the provided resultsethandler implementations accept a rowprocessor to do the actual conversion of rows into objects. by default the handlers use the basicrowprocessor implementation but you can implement a custom version to plug in. probably the most common customization is to implement the tobean() method to handle custom database datatype issues.
basicrowprocessor uses a beanprocessor to convert resultset columns into javabean properties.
you can do one of the following to map these columns to bean properties:
1. alias the column names in the sql so they match the java names: select social_sec# as socialsecuritynumber from person
2. subclass beanprocessor and override the mapcolumnstoproperties() method to strip out the offending characters.
common dbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成list。
dbutils包括3个包:org.apache.commons.dbutilsorg.apache.commons.dbutils.handlersorg.apache.commons.dbutils.wrappersdbutils封装了对jdbc的操作,简化了jdbc操作,可以少写代码。 org.apache.commons.dbutilsdbutils 关闭链接等操作queryrunner 进行查询的操作 org.apache.commons.dbutils.handlersarrayhandler :将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中存放的是mapscalarhandler :将resultset中一条记录的其中某一列的数据存成object org.apache.commons.dbutils.wrapperssqlnullcheckedresultset :对resultset进行操作,改版里面的值stringtrimmedresultset :去除resultset中中字段的左右空格。trim()
主要方法:
dbutils类:启动类
resultsethandler接口:转换类型接口
maplisthandler类:实现类,把记录转化成list
beanlisthandler类:实现类,把记录转化成list,使记录为javabean类型的对象
qrery runner类:执行sql语句的类
jdbc关于操作数据库的类,如果我们使用完毕之后就必须关闭。而且在操作数据类里面写了大量的业务逻辑(如增删查改),当一个类业务逻辑牵涉的太多,耦合度相对比较高,结果集难以处理,当我们拿到一个resultset结果集,用while循环一个一个读出来,再转换成javabean,最后形成list,太麻烦了。而且到处都抛sqlexception,又要捕获异常。造成代码复杂,可读性差,繁琐,不易于维护,有影响代码的美观性,最重要的是互用性不高。dbutils给我们解决了一系列的问题:dbutils是一个为简化jdbc操作的小类库,轻量级封装了jdbc。会自动关闭数据库连接,从而我们不用担心数据库的资源问题 dbutils库里很多类定义业务逻辑,如果子类直接继承它, 使类的业务逻辑简单了,也减少了jdbc代码的重复问题。使代码的可读性更强,互用性更高了!dbutils的处理流程: 它通过datasource得到得到一个连接, 拿到结果集, 再通过结果集得到元数据类型, 通过反射拿到我们传入进来的对象的元数据, 再通过反射对它们进行相应的转换。生成一个bean, 如果需要对象的话,直接返回,如果是其他的我们在进行相应的处理dbutils库里面有三个最主要的类: queryrunner:通过构造方法,得到一个数据库连接,数据库的操作都是通过这个类来完成的。 resultsethandler:转换类型接口(主要把我们数据的结果集通过一系列的处理转换成java对象) resetsethandler 的实现类有很多种, 涉及数组,map javabean等, 所有的实现类都接受一个rowprocessor类型的参数来实现数据列向对象的转化。其中rowprocessor的默认实现类为 basicrowprocessor, 用户也可以自己实现rowprocessor。basicrowprocessor使用beanprocessor来完成resultset中的值向javabean的映射。前提要求列名和 bean属性名必须一致。所有的数据库结果集转换成bean,list,map都是通过他的实现类来处理的。
util是一个非常小的类包, 无需花费太多时间去阅读它的doc, 核心类(接口)为queryrunner 和resetsethandler。 resetsethandler 的实现类有很多种, 涉及数组, map , javabean, 等等, 所有的实现类都接受一个rowprocessor类型的参数来实现数据列向对象的转化。其中rowprocessor的默认实现类为 basicrowprocessor, 用户也可以自己实现rowprocessor。 basicrowprocessor使用beanprocessor来完成resultset中的值向javabean的映射。前提要求列名和bean属性名必须一致。 但是在大部分情况下,数据库的列名中常含有一个些特殊字符,这些字符在java命名规约中又不能使用,针对上述情况,有如下2种解决办法: 1)sql语句中使用as 。 如 select na#me as name; 2) 继承beanprocessor并覆盖mapcolumnstoproperties()以便跳过那些违背java命名规约的字符。 beanprocessor.java public object tobean(resultset rs class type) { //确定column要转化成的类型,并以数组形式存储。 mapcolumntoproperties(); //组装bean并返回 createbean() { // 依照前面数组中存储的形式,将column进行相应的转化 processcolumn() //运用反射 设值 callsetter() } }
some of the advantages of using dbutils are:
* no possibility for resource leaks. correct jdbc coding isn't difficult but it is time-consuming and tedious. this often leads to connection leaks that may be difficult to track down.
* cleaner, clearer persistence code. the amount of code needed to persist data in a database is drastically reduced. the remaining code clearly expresses your intention without being cluttered with resource cleanup.
* automatically populate javabean properties from resultsets. you don't need to manually copy column values into bean instances by calling setter methods. each row of the resultset can be represented by one fully populated bean instance.
dbutils is a very small library of classes so it won't take long to go through the javadocs for each class. the core classes/interfaces in dbutils are queryrunner and resultsethandler. you don't need to know about any other dbutils classes to benefit from using the library.
each of the provided resultsethandler implementations accept a rowprocessor to do the actual conversion of rows into objects. by default the handlers use the basicrowprocessor implementation but you can implement a custom version to plug in. probably the most common customization is to implement the tobean() method to handle custom database datatype issues.
basicrowprocessor uses a beanprocessor to convert resultset columns into javabean properties.
you can do one of the following to map these columns to bean properties:
1. alias the column names in the sql so they match the java names: select social_sec# as socialsecuritynumber from person
2. subclass beanprocessor and override the mapcolumnstoproperties() method to strip out the offending characters.
common dbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成list。
dbutils包括3个包:org.apache.commons.dbutilsorg.apache.commons.dbutils.handlersorg.apache.commons.dbutils.wrappersdbutils封装了对jdbc的操作,简化了jdbc操作,可以少写代码。 org.apache.commons.dbutilsdbutils 关闭链接等操作queryrunner 进行查询的操作 org.apache.commons.dbutils.handlersarrayhandler :将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中存放的是mapscalarhandler :将resultset中一条记录的其中某一列的数据存成object org.apache.commons.dbutils.wrapperssqlnullcheckedresultset :对resultset进行操作,改版里面的值stringtrimmedresultset :去除resultset中中字段的左右空格。trim()
主要方法:
dbutils类:启动类
resultsethandler接口:转换类型接口
maplisthandler类:实现类,把记录转化成list
beanlisthandler类:实现类,把记录转化成list,使记录为javabean类型的对象
qrery runner类:执行sql语句的类
jdbc关于操作数据库的类,如果我们使用完毕之后就必须关闭。而且在操作数据类里面写了大量的业务逻辑(如增删查改),当一个类业务逻辑牵涉的太多,耦合度相对比较高,结果集难以处理,当我们拿到一个resultset结果集,用while循环一个一个读出来,再转换成javabean,最后形成list,太麻烦了。而且到处都抛sqlexception,又要捕获异常。造成代码复杂,可读性差,繁琐,不易于维护,有影响代码的美观性,最重要的是互用性不高。dbutils给我们解决了一系列的问题:dbutils是一个为简化jdbc操作的小类库,轻量级封装了jdbc。会自动关闭数据库连接,从而我们不用担心数据库的资源问题 dbutils库里很多类定义业务逻辑,如果子类直接继承它, 使类的业务逻辑简单了,也减少了jdbc代码的重复问题。使代码的可读性更强,互用性更高了!dbutils的处理流程: 它通过datasource得到得到一个连接, 拿到结果集, 再通过结果集得到元数据类型, 通过反射拿到我们传入进来的对象的元数据, 再通过反射对它们进行相应的转换。生成一个bean, 如果需要对象的话,直接返回,如果是其他的我们在进行相应的处理dbutils库里面有三个最主要的类: queryrunner:通过构造方法,得到一个数据库连接,数据库的操作都是通过这个类来完成的。 resultsethandler:转换类型接口(主要把我们数据的结果集通过一系列的处理转换成java对象) resetsethandler 的实现类有很多种, 涉及数组,map javabean等, 所有的实现类都接受一个rowprocessor类型的参数来实现数据列向对象的转化。其中rowprocessor的默认实现类为 basicrowprocessor, 用户也可以自己实现rowprocessor。basicrowprocessor使用beanprocessor来完成resultset中的值向javabean的映射。前提要求列名和 bean属性名必须一致。所有的数据库结果集转换成bean,list,map都是通过他的实现类来处理的。
util是一个非常小的类包, 无需花费太多时间去阅读它的doc, 核心类(接口)为queryrunner 和resetsethandler。 resetsethandler 的实现类有很多种, 涉及数组, map , javabean, 等等, 所有的实现类都接受一个rowprocessor类型的参数来实现数据列向对象的转化。其中rowprocessor的默认实现类为 basicrowprocessor, 用户也可以自己实现rowprocessor。 basicrowprocessor使用beanprocessor来完成resultset中的值向javabean的映射。前提要求列名和bean属性名必须一致。 但是在大部分情况下,数据库的列名中常含有一个些特殊字符,这些字符在java命名规约中又不能使用,针对上述情况,有如下2种解决办法: 1)sql语句中使用as 。 如 select na#me as name; 2) 继承beanprocessor并覆盖mapcolumnstoproperties()以便跳过那些违背java命名规约的字符。 beanprocessor.java public object tobean(resultset rs class type) { //确定column要转化成的类型,并以数组形式存储。 mapcolumntoproperties(); //组装bean并返回 createbean() { // 依照前面数组中存储的形式,将column进行相应的转化 processcolumn() //运用反射 设值 callsetter() } }
发表评论
-
百度质量部实习居然通过了~
2012-02-08 12:23 992[size=small;]? ? ?本来打算在软工所苦 ... -
Android上的log,日志相关
2012-02-07 14:18 1535摘自:http://blog.csdn.net/met ... -
随 笔
2012-02-04 13:39 600金风玉露一相逢,便胜却人间无数。英文版: chemis ... -
MyISAM InnoDB 区别
2012-02-02 16:59 737<h1 id="artibody ... -
数独suduku
2012-01-31 14:38 916sudu sudu sudu sudu sudu su ... -
paypal提现如何省钱
2011-12-28 16:58 1224据PayPal中文注册得知,如今很多收样品费的外贸商户 ... -
ORA-01012: not logged on 解决办法
2011-12-28 13:08 3512<span style="font-f ... -
c语言中去除const修饰
2011-12-21 10:54 1435[size=16px;]<span style= ... -
虚析构函数(总结 帖子)
2011-12-21 09:54 706<span style="" ... -
手机防盗软件实现(源码)
2011-12-20 12:54 938<a href="http://blo ... -
谈谈Q+平台的技术实现
2011-12-20 09:49 963这篇文章是我个人 ... -
微创短信开发平台
2011-12-19 11:39 772在网上闲逛,发现了一个站点,微创短信开发平台(http ... -
《使用 Microsoft .NET 的企业解决方案模式》读书笔记3
2011-12-19 10:24 783第3章 Web表示模式 没有一个设计策略能够适合所有情 ... -
MapXtreme2004代码 MapControl控件中显示地图文件
2011-12-15 14:29 912::<?xml:namespace prefix ... -
ASP.NET开发工具Web Matrix介绍
2011-12-15 13:39 970<p class="MsoPlain ... -
用C#写定时关机的程序
2011-12-15 11:14 705</span></font>& ... -
JUnit单元测试感悟
2011-12-14 11:29 864<p class="MsoNorma ... -
JNI调用的注意事项
2011-12-14 09:34 755JNI的简单教程网上很多,看看就能够明白,照着操作也基 ... -
javax.xml.transform.TransformerFactoryConfigurationError
2011-12-13 13:34 854<span style="" ... -
ViewFlipper “Receiver not registered” Error
2011-12-12 10:59 1127偶尔出现这个错误: <span> < ...
相关推荐
DBUtils 是一个非常重要的 Python 模块,专为数据库连接设计,它在 Python 的数据库应用开发中扮演着不可或缺的角色。这个模块主要目的是提供一个稳定、健壮的接口,用于管理和操作数据库连接,使得开发者能够更方便...
Python的DBUtils是一个非常实用的库,主要用于增强Python标准库中的`DB-API 2.0`接口,提供了线程安全性和连接池管理等功能。DBUtils是基于PEP 249设计的,它使得数据库连接的管理和维护变得更加简单,尤其在多线程...
《Apache Commons DBUtils详解及其在Java数据库操作中的应用》 Apache Commons DBUtils是Apache软件基金会开发的一个开源项目,它提供了一套简洁、高效且实用的工具类,用于简化Java应用程序中的数据库操作。这个...
Dbutils 是 Apache Commons DbUtils 的简称,它是一个用于简化 Java 数据库编程的开源库。Dbutils 基于 JDBC(Java Database Connectivity),提供了一套简洁、高效且易于使用的API,帮助开发者更方便地处理数据库...
`commons-dbutils.jar.rar` 是一个包含Apache Commons DBUtils库的不同版本的压缩文件,主要用于Java应用程序中的数据库操作。DBUtils是一个实用程序库,它简化了JDBC(Java Database Connectivity)的使用,提供了...
C3P0和DBUtils是两个非常重要的库,用于简化Java应用程序中的数据库操作。以下是这两个库的详细介绍: C3P0是一个开源的JDBC连接池,它的全称是Commerical-grade Connection Pooling for JDBC。C3P0-0.9.1.2.jar是...
赠送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(Java Database Connectivity)进行优化,以提供更简洁、高效的数据库操作API。这个库在Java社区中广泛使用,因为它大大减轻了开发者处理数据库...
《Apache Commons DBUtils详解》 Apache Commons DBUtils是一款在Java编程中广泛使用的数据库操作工具库,它的全称为“Apache Commons Database Utilities”。这个小巧且高效的库为开发者提供了方便、安全的数据库...
Apache Commons DBUtils是一个Java库,它简化了与数据库交互的任务,是Java开发中常用的数据访问工具。这个压缩包“commons-dbutils-1.3.zip”包含的是DBUtils库的1.3版本。DBUtils库是Apache Commons项目的一部分,...
DbUtils是Apache组织提供的一款Java数据库操作工具包,它的全称是Apache Commons DbUtils。DbUtils的主要目的是简化数据库操作,让开发人员能够更专注于业务逻辑而不是底层的JDBC细节。这个工具包基于Java,适用于...
在IT行业中,数据库操作是日常开发中的重要环节,而`dbutils`是一个非常实用的Java数据库操作工具包,它简化了对数据库进行增删改查(CRUD)操作的过程。本示例着重介绍如何结合`dbutils`与Oracle数据库进行高效的...
### DBUtils操作数据库及事务管理详解 #### 一、DBUtils简介 DBUtils是一个轻量级的Java数据库访问工具类库,它简化了JDBC的使用步骤,使得开发者能够更方便地进行数据库操作。相比于传统的JDBC编程方式,DBUtils...
Apache Commons DBUtils是Java开发中的一个实用工具库,主要用于简化JDBC(Java Database Connectivity)的使用。这个项目在1.6版本中包含了两个主要的jar文件:`commons-dbutils-1.6.jar`和`commons-dbutils-1.6-...
包org.apache.commons.dbutils DbUtils是一个为简化JDBC操作的小类库. 接口摘要 ResultSetHandler 将ResultSet转换为别的对象的工具. RowProcessor 将ResultSet行转换为别的对象的工具. 类摘要 BasicRowProcessor ...
Apache Commons DBUtils是一个Java库,它为处理数据库连接提供了简单且健壮的工具。这个压缩包文件"commons-dbutils-1.6.rar"包含了DBUtils的1.6版本,这是一个非常受欢迎的开源项目,用于简化Java数据库编程。...
DBUtils是Java编程环境中一个非常实用的数据库操作工具包,由Apache软件基金会提供。它基于JDBC(Java Database Connectivity)并提供了对数据库操作的简化,让开发者能够更方便、高效地进行数据存取。DBUtils的主要...
DBUtils是Apache Commons库中的一个组件,它提供了一套简单易用的数据库操作API,用于简化Java中的数据库访问。在本项目中,你将找到一个自己编写的简易DBUtils实现,虽然它不是Apache官方的DBUtils,但其设计思想和...