zoukankan      html  css  js  c++  java
  • 完整的jdbc查询结果集编码

     1 public static ArrayList<HashMap<String,Object>> query(Connection conn,String sql, Object[] paras) throws Exception {
     2         PreparedStatement statement = null;
     3         ResultSet ss = null;
     4         String str = "";//打日志使用
     5         ArrayList<HashMap<String,Object>> resultList = new ArrayList<HashMap<String,Object>>();
     6         statement = conn.prepareStatement(sql);
     7         if(paras!=null&&paras.length!=0){
     8             for (int i = 0; i < paras.length; i++) {
     9                 if (paras[i].getClass().getSimpleName().equals("Integer")) {
    10                     statement.setInt(i + 1, (Integer)paras[i]);
    11                     str+=paras[i];
    12                 } else {
    13                     statement.setString(i + 1, (String) paras[i]);
    14                     str+=paras[i];
    15                 }
    16             }
    17         }
    18         ss = statement.executeQuery();
    19         ResultSetMetaData rsmd = ss.getMetaData();//获得结果集的列信息
    20         int columnNum = rsmd.getColumnCount();
    21         while(ss.next()){
    22             HashMap<String,Object> tmpMap = new HashMap<String, Object>();
    23             for (int i = 1; i <=columnNum; i++) {//循环列组装list
    24                 tmpMap.put(rsmd.getCatalogName(i), ss.getObject(i));
    25             }
    26             resultList.add(tmpMap);
    27         }
    28 //        logger.info("sql:"+sql+" paras:"+str+" resultList:"+resultList.size());
    29         return resultList;
    30     }

    以上代码功能不够完成,酌情参考;

    参数解析:

    Connection conn,数据库链接java.sql.Connection;

    String sql, 需要执行的查找SQL java.lang.String;

    Object[] paras,根据查找需要传入的参数,Object类型,可以支持Integer和String类型的参数

    ArrayList<HashMap<String,Object>> 返回查询结果集,list

    语句解释:

    ResultSetMetaData rsmd = ss.getMetaData();可以得到SQL查询的结果的列信息

    int columnNum = rsmd.getColumnCount();得到结果集中列的数量

    rsmd.getCatalogName(i) 根据一条数据中顺序获得当前列的名称

    ss.getObject(i) 从结果集中获得当前列对应的数据

  • 相关阅读:
    Math类的用法
    c#中和java中可变参数对比
    c#中泛型集合directory和java中map集合对比
    C#调用短信接口(通过简单的工厂模式整合多个短信平台)
    C#用网易邮箱发送邮件(同步异步)
    新浪云-PHP实现上传原图,缩略图
    PHP 继承,组合,单模式,GUID,等混合实例
    ASP.Net MVC @Html类
    ASP.net MVC 无法初始化 ASP.NET Simple Membership 数据库
    PHP 单列模式实例讲解以及参考网址
  • 原文地址:https://www.cnblogs.com/sagech/p/4485684.html
Copyright © 2011-2022 走看看