`
longgangbai
  • 浏览: 7332317 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Commons-dbUtils开发应用和研究(七)

阅读更多

 

此类和上篇的相同,不过此类使用反射机制实现相同的原理吧,^_^

  O(∩_∩)O~~一刻

 

火车上两个人面对而坐,问:“抽烟吗?”答:“不抽。”问:“喝一杯吗?”答:“不喝。”问:“这是我的女儿。”答:“我不玩女人。

 

开始开发,高兴的工作哦

package cn.com.huawei.opensource.common.dbutils;

import java.lang.reflect.Field;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.logging.Logger;

import org.apache.commons.dbutils.ResultSetHandler;
/**
 *
 * @author bailonggang
 * 2009-2-26
 * 下午11:55:16
 */
public class CustomMapListResultSetHandler implements ResultSetHandler{
 private static Logger logger=Logger.getLogger(CustomMapListResultSetHandler.class.getName());
    private Class cls ;
 public CustomMapListResultSetHandler(Class cls)
 {
  this.cls=cls;
 }
 /**
  *
  */
 public Object handle(ResultSet rs) throws SQLException {

       得到数据集的元数据对象的
        ResultSetMetaData meta=rs.getMetaData();

     得到数据集合的列数的
        int cols=meta.getColumnCount();

存储列名称信息
        String[] titles=new String[cols];
        for (int i = 0; i < titles.length; i++) {

   获取列的名称的哦
   titles[i]=meta.getColumnName(i+1);
  }

         存储查询的对象集合
        Collection<Object> col=new ArrayList<Object>();
        while(rs.next())
        {
         try{

       使用反射常见一个是对象的实例
        Object o=cls.newInstance();
        for (int i = 0; i < titles.length; i++)
        {

          得到响应的字段
         Field field=cls.getDeclaredField(titles[i]);
         try {

         设置可以访问类的私有属性
          field.setAccessible(true);

          获取列的数值偶
          Object value=rs.getObject(i);

          此处可以使用反射机制中Method实现比较麻烦所以使用Field的方法实现
          field.set(o, value);
         } catch (Exception e) {
          logger.info("set the class "+cls.getName()+" property "+field.getName()+" failure :"+e.getMessage());
             e.printStackTrace();
         }
   }
        col.add(o);
         }catch(Exception ex)
         {
          logger.info("the exception occur "+ex.getMessage());
          ex.printStackTrace();
         }
        }
  return col;
 }
  
}

分享到:
评论

相关推荐

    commons-dbutils.jar.rar

    **正文** `commons-dbutils.jar.rar` 是一个包含Apache Commons DBUtils库的不同版本的压缩文件,主要用于Java应用程序中的...无论是在学习还是在实际开发中,了解和掌握DBUtils都是提高数据库操作效率的重要一步。

    commons-dbutils-1.6.rar所有jar包

    总的来说,Apache Commons DBUtils是Java开发中一个强大的数据库工具库,它的出现大大简化了JDBC的使用,提高了开发效率和代码的可读性。对于需要处理数据库操作的Java项目,DBUtils是一个值得考虑的选择。

    commons-dbutils-1.4.jar

    Apache Commons DBUtils是Apache软件基金会开发的一个开源项目,它提供了一套简洁、高效且实用的工具类,用于简化Java应用程序中的数据库操作。这个项目的最新版本为"commons-dbutils-1.4.jar",它的主要目标是减轻...

    commons-dbutils.jarv1.6官方免费版

    commons-dbutils.jar是在java架构开发时十分重要的一款.jar包,正确的使用commons dbutils可以让你的开发事半功倍,如果您在开发过程中缺少这款jar包,马上来下载commonsdbutils jar包吧! 软件功能: commons-...

    commons-dbutils-1.7.jar

    总结,Apache Commons DBUtils作为Java中的数据库操作利器,以其简洁、安全、高效的特点,极大地简化了开发人员与数据库交互的工作。它在处理日常的CRUD操作时表现出色,是Java开发者不可或缺的工具之一。了解并熟练...

    commons-dbutils-1.6

    总的来说,Apache Commons DBUtils是Java开发中一个非常实用的工具,通过提供简洁的API和强大的异常处理,使得数据库操作变得更加便捷和安全。对于任何需要与数据库交互的Java应用,DBUtils都是一个值得考虑的选择。

    commons-dbutils-1.1,commons-dbutils-1.3资源包

    DBUtils的核心类和接口位于`org.apache.commons.dbutils`包下,可以直接导入使用。 例如,要执行一个SQL查询并获取结果集的Bean列表,可以这样做: ```java QueryRunner runner = new QueryRunner(); List&lt;MyBean&gt;...

    commons-dbutils-1.5

    Apache Commons DBUtils是Java开发中一个非常实用的数据库操作库,尤其在处理简单和重复的数据库访问任务时,它提供了一种简洁、高效的方式。这个"commons-dbutils-1.5"版本是DBUtils项目的早期稳定版本,它包含了对...

    commons-dbutils-1.7-bin,commons-dbutils 1.7 的ar

    Apache Commons DBUtils 是一个开源的 Java 库,它简化了数据库操作,为开发人员提供了方便、安全的数据库访问...由于它的简单易用和强大的功能,Apache Commons DBUtils 在Java Web应用和企业级开发中得到了广泛应用。

    commons-dbutils-1.7.zip

    Apache Commons DBUtils是一个Java库,它为数据库操作提供了一些实用工具和帮助类,极大地简化了JDBC编程。这个"commons-dbutils-1.7.zip"压缩包包含了版本1.7的DBUtils库,这是一个在2005年发布的稳定版本。DBUtils...

    commons-dbutils-1.6.jar

    在实际开发中,通过引入`commons-dbutils-1.6.jar`,我们可以快速构建数据库操作的代码,减少错误,提高代码质量。不过,需要注意的是,虽然DBUtils简化了JDBC,但仍然需要对SQL和数据库有一定的理解。此外,随着...

    commons-dbutils-1.3

    Apache Commons DBUtils是Java开发中的一个实用工具库,专门用于简化数据库操作。它是一个轻量级的框架,基于Java JDBC API,旨在使数据库编程变得更加简单和健壮。这个"commons-dbutils-1.3"版本是该库的一个早期...

    JavaWeb需要用到的jar包_jar包_javaweb_commons-dbutils-1.3_

    总的来说,commons-dbutils和commons-beanutils是JavaWeb开发中非常实用的工具库,它们简化了数据库操作和对象属性处理,提高了开发效率。合理利用这些库,可以打造更健壮、易于维护的JavaWeb应用。

    commons-dbutils-1.2.rar

    Apache Commons DBUtils是一个Java库,它为数据库操作提供了一些实用工具和抽象,简化了数据库编程。这个"commons-dbutils-1.2.rar"文件包含了Apache Commons DBUtils的1.2版本,这是一个历史悠久且广泛使用的开源...

    commons-dbutils-1.3-bin

    Apache Commons DBUtils是Java开发中一个非常实用的数据库操作库,它简化了JDBC(Java Database Connectivity)的使用,提供了一种更安全、更高效的方式来处理数据库操作。这个"commons-dbutils-1.3-bin"压缩包包含...

    java web中的commons-dbutils-1.3-bin.zip

    Java Web开发中,Apache Commons DBUtils是一个非常实用的...结合Commons Logging,我们可以轻松管理和调试应用程序的日志,进一步优化开发流程。在实际项目中,合理使用这两个库,可以极大地提升开发效率和代码质量。

    java commons-dbutils-1.2.jar

    `commons-dbutils-1.2.jar` 是一个由Apache软件基金会开发并维护的Java库,它是Apache Commons项目的一部分,专注于简化数据库操作。这个小巧而实用的库为Java开发者提供了一种简单的方式来处理数据库连接,查询结果...

Global site tag (gtag.js) - Google Analytics