ResultSetMetaData的使用心得

原创 2018年04月16日 12:09:29
今天写页面的时候,发生了离奇的错误,明明语句在数据库中执行能查出6个字段,但是返回数据时只剩5个了,检查了好多遍代码,终于发现ResultSetmetaData的一点使用心得。
public List<Map<String,Object>> search(String sql){
		Connection conn = getConnection();
		PreparedStatement ps = null;
		List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
		ResultSet rs = null;
		try {
			ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();
            ResultSetMetaData md = rs.getMetaData();
            int colomn = md.getColumnCount();
            Map<String,Object> temp = null;
            while(rs.next()) {
            	temp = new HashMap<String,Object>();
            	md = rs.getMetaData();
            	for(int i = 1; i <= colomn; i++) {
            		temp.put(md.getColumnName(i), rs.getObject(i));
            	}
            	list.add(temp);
            }
		}catch(Exception e) {
			e.printStackTrace();
		}finally {
			closeConnection(conn);
		}
		return list;
	}

ResultSetMetaData有两个方法获取字段名称

一、getColumnName(int index),这个方法获取的是该字段在表内的名称。

二、getConlumnLabel(int index),这个方法获取的是你在语句中要求的该字段的名称

因为我是两张表联合查询,两表中均出现了“name”字段,所以查出来6个字段,执行了一下temp.put就只剩下5个了。

ResultSetMetaData 的用法

  • sun2445067
  • sun2445067
  • 2010-04-08 22:52:00
  • 5035

【转载】ResultSet、ResultSetMetaData 用法详细说明

原文转自:http://www.cnblogs.com/chinafine/articles/1847205.html DatabaseMetaData 有关整个数据库的信息:表名、表的索引、数据库...
  • u011704894
  • u011704894
  • 2015-04-10 10:41:06
  • 2220

ResultSetMetaData 中的方法介绍

ResultSetMetaData 中的方法介绍 利用ResultSet的getMetaData的方法可以获得ResultSetMeta对象,而ResultSetMetaData存储了 Resu...
  • my543843165
  • my543843165
  • 2016-09-01 10:48:19
  • 1880

DatabaseMetaData ResultSet ResultSetMetaData三种类型的区别

DatabaseMetaData,ResultSet,ResultSetMetaData三种类型的区别 1、DatabaseMetaData 有关整个数据库的信息:数据库产品的名称和版本,数据库中表和...
  • suwu150
  • suwu150
  • 2016-10-05 01:37:20
  • 2508

ResultSet和 ResultSetMetaData

PreparedStatement ps = null;         ResultSet rs=null;         ResultSetMetaData rms=null; ps = con...
  • Fupengyao
  • Fupengyao
  • 2016-01-18 10:27:01
  • 2068

获得结果集的字段名称,ResultSet的属性要调用ResultSetMetaData的方法

获得结果集的字段名称,ResultSet的属性要调用ResultSetMetaData的方法收藏新一篇: HTML在线编辑器的原理 | 旧一篇: 常用的107条Javascriptpublic int...
  • thinker28754
  • thinker28754
  • 2009-02-11 14:27:00
  • 3158

关于ResultSetMetaData获取列名不一致的问题

ResultSetMetaData 获取列名
  • u011722519
  • u011722519
  • 2015-01-05 08:48:52
  • 1324

java通过ResultSetMetaData获取数据库的列。

java通过ResultSetMetaData获取数据库的列。
  • en_joker
  • en_joker
  • 2017-09-04 22:54:50
  • 419

DatabaseMetaData,ResultSet,ResultSetMetaData三种类型的区别

DatabaseMetaData,ResultSet,ResultSetMetaData三种类型的区别                                   出处: http://blo...
  • ruthywei
  • ruthywei
  • 2017-06-22 09:15:47
  • 401

04_关于元数据,ResultSetMetaData对象以及API方法介绍

 ResultSetMetaData对象 元数据,可以理解为数据的数据 Jdbc中的元数据是指数据库、表、列的定义信息。 ResultSetMetaData对象表示结果集R...
  • toto1297488504
  • toto1297488504
  • 2014-12-08 21:56:25
  • 996
收藏助手
不良信息举报
您举报文章:ResultSetMetaData的使用心得
举报原因:
原因补充:

(最多只允许输入30个字)