public static ArrayList<HashMap<String,Object>> query(Connection conn,String sql, Object[] paras) throws Exception {
PreparedStatement statement = null;
ResultSet ss = null;
String str = "";//打日志使用
ArrayList<HashMap<String,Object>> resultList = new ArrayList<HashMap<String,Object>>();
statement = conn.prepareStatement(sql);
if(paras!=null&&paras.length!=0){
for (int i = 0; i < paras.length; i++) {
if (paras[i].getClass().getSimpleName().equals("Integer")) {
statement.setInt(i + 1, (Integer)paras[i]);
str+=paras[i];
} else {
statement.setString(i + 1, (String) paras[i]);
str+=paras[i];
}
}
}
ss = statement.executeQuery();
ResultSetMetaData rsmd = ss.getMetaData();//获得结果集的列信息
int columnNum = rsmd.getColumnCount();
while(ss.next()){
HashMap<String,Object> tmpMap = new HashMap<String, Object>();
for (int i = 1; i <=columnNum; i++) {//循环列组装list
tmpMap.put(rsmd.getCatalogName(i), ss.getObject(i));
}
resultList.add(tmpMap);
}
// logger.info("sql:"+sql+" paras:"+str+" resultList:"+resultList.size());
return resultList;
}

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

参数解析:

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) 从结果集中获得当前列对应的数据

完整的jdbc查询结果集编码的更多相关文章

  1. [JDBC]查询结果集把字段名和字段值一起竖向输出

    代码: package com.hy.fieldandvalue; import java.sql.Connection; import java.sql.DriverManager; import ...

  2. jdbc 05: 查询结果集

    jdbc连接mysql,查询结果集 package com.examples.jdbc.o5_结果集查询; import java.sql.*; import java.util.ResourceBu ...

  3. JDBC 资源绑定器 ,处理查询结果集

    使用资源绑定器绑定属性配置 实际开发中不建议把连接数据库的信息写死到Java程序中 //使用资源绑定器绑定属性配置 ResourceBundle bundle = ResourceBundle.get ...

  4. spring jdbc 查询结果返回对象、对象列表

    首先,需要了解spring jdbc查询时,有三种回调方式来处理查询的结果集.可以参考 使用spring的JdbcTemplate进行查询的三种回调方式的比较,写得还不错. 1.返回对象(queryF ...

  5. Eclipse中java获得mysql的查询结果集

    不废话,先上代码,再上解释说明 package com.ningmeng; import java.sql.*; /** * 1:获取查询结果集 * @author biexiansheng * */ ...

  6. Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

    Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子   时间:2012-11-20 17:54:02   Java 通过JDBC查询数据库表结构(字段名称,类型,长 ...

  7. 用JDBC查询数据库

    JDBC API的核心组件:1.DriverManager类:用语跟踪可用的JDBC驱动程序并产生数据库连接. 2.Connection接口:用于取得数据库信息.生成数据库语句,并管理数据库事务. 3 ...

  8. Spring JdbcTemplate 查询结果集Map反向生成Java实体(转)

    原文地址:Spring JdbcTemplate 查询结果集Map反向生成Java实体 以前写过一篇文章吐槽过Spring JdbcTemplate的queryForList方法(参见:http:// ...

  9. Redis查询&JDBC查询&Hibernate查询方式的效率比较...

    比较三种查询方式查询效率对比...我是用的JavaWeb的方式通过通过JSP页面查询的填写查询的参数...给予反馈.... 整个demo的下载地址:http://files.cnblogs.com/f ...

随机推荐

  1. 摄像头模组 AWB(Auto White Balance)

    本文转载yapingmcu的<图像算法---白平衡AWB(讲的很好)>.原文http://blog.csdn.net/yapingmcu/article/details/50637797 ...

  2. 关于onclick的执行原理

    js 或者 jQuery 为文档某一节点添加onclick事件的时候,添加的onclick事件会添加在原节点的onclick事件之后,不会覆盖之前的onclick事件  如果不想让原onclick事件 ...

  3. HTML5基础知识汇总_(2)自己定义属性及表单新特性

    自己定义属性data-* 说起这个属性,事实上如今非经常见了;怎么说呢,由于在一些框架都能看到他的身影!!! 比方Jquery mobile,里面非常频繁的使用了这个属性; 这个属性是哪里来的-.当然 ...

  4. log4j实现每一个线程保存一个日志文件

    log4j.properties: ### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.Conso ...

  5. Echarts 获取后台数据 使用后台数据展示 饼装图

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head& ...

  6. .net framework中重新注册IIS

    要为 ASP.NET 修复 IIS 映射,请按照下列步骤执行操作:运行 Aspnet_regiis.exe 实用工具:单击“开始”,然后单击“运行”.在“打开”文本框中,键入 cmd,然后按 ENTE ...

  7. 使用htmldom分析HTML代码

    使用语言是Python 3.5.开发环境是Windows. 在使用HTMLParser库的时候,发现它不能正确的解析多重div元素嵌套的情况,因为这些div元素中又包含了a元素等其它元素. 这似乎是一 ...

  8. 前端性能优化:使用Array.prototype.join代替字符串连接

    来源:GBin1.com 有一种非常简单的客户端优化方式,就是用Array.prototype.join代替原有的基本的字符连接的写法.在这个系列的第一篇中,我在代码中使用了基本字符连接: htmlS ...

  9. android 从Activity 获取 rootView 根节点

    private static View getRootView(Activity context) { return ((ViewGroup)context.findViewById(android. ...

  10. DRUPAL性能优化【转】

    1.启用memcache代替Mysql的缓存表处理缓存数据. 2.添加一个opcode缓存可以让 PHP能够重用前面编译过的代码,这样就会跳过解析和编译.常见的opcode缓存有Alternative ...