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. 机器学习-Confusion Matrix混淆矩阵、ROC、AUC

    本文整理了关于机器学习分类问题的评价指标——Confusion Matrix.ROC.AUC的概念以及理解. 混淆矩阵 在机器学习领域中,混淆矩阵(confusion matrix)是一种评价分类模型 ...

  2. 项目部署问题:xftp无法连接服务器、Nginx403 Forbidden解决、nginx反向代理解决前端跨域问题

    一.xftp无法连接服务器 在xftp中配置正确的ip,用户名和密码后,居然无法连接 解决方案:将协议里面的FTP换成SFTP,注意换成SFTP后端口就默认换成22,要还是原来的21就还是连不上的哈 ...

  3. Java笔记20:迭代器模式

    迭代器模式 所谓Iterator模式,即是Iterator为不同的容器提供一个统一的访问方式.本文以Java中的容器为例,模拟Iterator的原理. 1 定义一个容器Collection接口 pub ...

  4. Akka概念集

    (转)http://www.csdn.net/article/2014-12-17/2823174 在Akka里面,和Actor通信的唯一方式就是通过ActorRef.ActorRef代表Actor的 ...

  5. python处理csv

    python处理csv 学习了:https://blog.csdn.net/qq_33363973/article/details/78783481  竟然pip install csv 无果: 学习 ...

  6. Spring集成ActiveMQ配置 --转

    转自:http://suhuanzheng7784877.iteye.com/blog/969865 集成环境 Spring采用2.5.6版本,ActiveMQ使用的是5.4.2,从apache站点可 ...

  7. dubbo-monitor安装监控中心,管理控制台安装

    一.安装监控中心 1.创建安装目录 2.解压 上传文件解压文件 解压 3.修改配置文件 4.启动 如果一直出现点.只需要加大内存即可,内存至少大于1024,然后reboot重启 5.测试 二.安装管理 ...

  8. HTML/CSS方法实现下拉菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. java中的初始化块

    public class Person { int a=6;//声明实例变量制定默认值,也可以认为是对象的初始化代码,执行顺序与源代码中的排列顺序相同 { System.out.println(&qu ...

  10. Spring中AOP的理解

    1.AOP的概念 AOP(AspectOriented Programming,面向切面编程)指的是可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下个程序动态统一添加功能的一种技术.AOP ...