1. package it.cast.jdbc;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.ParameterMetaData;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import java.sql.ResultSetMetaData;
  8. import java.sql.SQLException;
  9. import java.util.HashMap;
  10. import java.util.Map;
  11.  
  12. public class ResultSetMetaTest {
  13.  
  14. public static void main(String[] args) throws SQLException {
  15.  
  16. Map<String,Object> map = read("select * from user where id=2");
  17. System.out.println(map);
  18. }
  19.  
  20. static Map<String, Object> read(String sql) throws SQLException {
  21.  
  22. Connection conn = null;
  23. PreparedStatement ps = null;
  24. ResultSet rs = null;
  25.  
  26. try {
  27. conn = jdbcUtils.getConnection();
  28. ps = conn.prepareStatement(sql);
  29. rs = ps.executeQuery();
  30.  
  31. ResultSetMetaData rsmd = rs.getMetaData();
  32.  
  33. // 得出有多少列
  34. int count = rsmd.getColumnCount();
  35.  
  36. String[] colNames = new String[count];
  37.  
  38. for (int i = 1; i <= count; i++) {
  39. // System.out.print(rsmd.getColumnClassName(i)+"\t");
  40. // System.out.print(rsmd.getColumnName(i)+"\t");
  41. // System.out.println(rsmd.getColumnLabel(i)+"\t");
  42. colNames[i-1] = rsmd.getColumnName(i);
  43. }
  44.  
  45. Map<String, Object> data = null;
  46.  
  47. while (rs.next()) {
  48. data = new HashMap<String, Object>();
  49.  
  50. for (int j = 0; j < colNames.length; j++) {
  51. data.put(colNames[j], rs.getObject(colNames[j]));
  52. }
  53. }
  54.  
  55. return data;
  56. } finally {
  57. jdbcUtils.free(rs, ps, conn);
  58. }
  59. }
  60. }

ResultSetMetaTest

利用结果集元数据将查询结果封装为map的更多相关文章

  1. java_jdbc_利用结果集元数据将查询结果封装为map_MetaData

    package cn.itcast.batch; import java.sql.Connection; import java.sql.ParameterMetaData; import java. ...

  2. OpenJDK源码研究笔记(十二):JDBC中的元数据,数据库元数据(DatabaseMetaData),参数元数据(ParameterMetaData),结果集元数据(ResultSetMetaDa

    元数据最本质.最抽象的定义为:data about data (关于数据的数据).它是一种广泛存在的现象,在许多领域有其具体的定义和应用. JDBC中的元数据,有数据库元数据(DatabaseMeta ...

  3. JDBC中的元数据——3.结果集元数据

    package metadata; import java.sql.Connection; import java.sql.ParameterMetaData; import java.sql.Pre ...

  4. oracle学习笔记(八)——结果集元数据ResultSetMetaData以及ResultSet转为对应的实体类框架

    介绍 可用于获取关于 ResultSet 对象中列的类型和属性信息的对象,在持久框层框架(如:mybatis, hibernate)中被广泛的应用. 常用方法 int getColumnCount() ...

  5. MyBatis Plus 将查询结果封装到指定实体

    MyBatis Plus 将查询结果封装到指定实体 思路 自定义方法,使用Wrapper,自定义映射结果集 Mapper接口 package com.mozq.boot.mpsand01.dao; i ...

  6. hibernate将本地SQL查询结果封装成对象

    hibernate将本地SQL查询结果封装成对象 不知道大家有没有碰过这种情况,迫于很多情况只能用native SQL来查询(如:复杂统计等),然而使用native查询后,结果会被放到object里, ...

  7. Spring NamedParameterJdbcTemplate命名参数查询条件封装, NamedParameterJdbcTemplate查询封装

    Spring NamedParameterJdbcTemplate命名参数查询条件封装, NamedParameterJdbcTemplate查询封装 >>>>>> ...

  8. 利用kibana插件对Elasticsearch查询

    利用kibana插件对Elasticsearch查询 Elasticsearch是功能非常强大的搜索引擎,使用它的目的就是为了快速的查询到需要的数据. 查询分类: 基本查询:使用Elasticsear ...

  9. 我的前端工具集(六)Ajax封装token

    我的前端工具集(六)Ajax封装token   liuyuhang原创,未经允许禁止转载 在单点登陆中,或登陆验证后,不应该每次都验证用户名和密码, 也不应该将用户名密码存入cookie中(虽然很多都 ...

随机推荐

  1. android studio使用部分报错处理

    1.android studio 导入项目时Error:SSL peer shut down incorrectly 今天导入一个项目到studio,显示在下载一个一个1.1.0-rc4的东西. 过了 ...

  2. PHP webservice的使用

    提到php的webservice.之前还是比较陌生的,因为接触的少呀,几乎在所有的公司中没用过,仅仅用过的一次好像是接入一个第三方的短信通道,用的是SOAP|WSDL. 一个很极端的话“webserv ...

  3. 解决poshytip 表单高度大于屏幕高端 显示问题

    Poshy Tip是一款非常友好的信息提示工具,它基于jQuery,当鼠标滑向链接时,会出现一个信息提示条.信息的内容直接可以在HTML里设定也可以是从服务端调用的数据,该插件还提供了很多属性和方法. ...

  4. 前端知识杂烩(HTML[5]?+CSS篇)

    1. CSS 优先级算法如何计算?2.如何居中div?如何居中一个浮动元素?如何让绝对定位的div居中?3.用纯CSS创建一个三角形的原理是什么?4. 如何解决inline-block元素的空白间距( ...

  5. CozyRSS开发记录13-添加订阅的对话框

    CozyRSS开发记录13-添加订阅的对话框 1.设计对话框 首先,还是先用MockPlus来画个原型图: 因为用了MaterialDesignToolkit,那么可以很方便的有一个蒙层的效果. 2. ...

  6. 在WebStorm环境中给nodejs项目中添加packages

    照前文 http://www.cnblogs.com/wtang/articles/4133820.html  给电脑设置了WebStorm的IDE的nodejs开发环境.新建了个express的网站 ...

  7. Spring MVC注解入门

    注解式开发初步 常用的两个注解: @Controller:是SpringMVC中最常用的注解,它可以帮助定义当前类为一个Spring管理的bean,同时指定该类是一个控制器,可以用来接受请求.标识当前 ...

  8. 安装Kudu

    1.默认安装好yum2.需以root身份安装3.安装ntp yum install ntp -y4.启动ntp /etc/init.d/ntpd start|stop|restart5.添加安装包yu ...

  9. adt_sdk_tools介绍

    draw9patch.bat hierarchyviewer.bat traceview.bat

  10. java微信公众号开发----搭建ngrok环境

    下载ngrok,一个能够在公网安全访问内网Web主机的工具 下载地址:http://download.csdn.net/download/u014252425/9389847,亲测可用 下载完成后,进 ...