结果集存放在 List<Map<String,Object>>中怎么使用Java代码遍历获取String,Object的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结果集存放在 List<Map<String,Object>>中怎么使用Java代码遍历获取String,Object的值?相关的知识,希望对你有一定的参考价值。

先遍历List
对于每一个Map值,要获取String的话,就是要获取它的key值集合,LZ可以看一下api,有这个方法的,貌似得到的结果是一个set集合,遍历这个set集合便可以得到每一个String值,从而也可以获取到对应的Object
参考技术A 你是把一个map集合放到一个list集合中,然后想看map集合中的string和object对吧?追问

我是在做 SSH+jfreechart 的整合,我通过一个方法查询出数据即List> ,现在是想把他取出来放到 jfreechart 的 dataset 里面,目前这个不是很清楚,if you know , please tell me ! thanks !

参考技术B List<Map<String,Object>> list=..

for (int i=0;i<list.size(),i++)

Map map=(Map)list.get(i);

Iterator iterator = map.keySet().iterator();
while (iterator.hasNext())

String key = (String) iterator.next();
Object object = map.get(key);


本回答被提问者和网友采纳

将JDBC ResultSet结果集转成List

private List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();

public String queryAll() {
	Connection conn = null;
	Statement sta = null;
	ResultSet rs = null;
	try {
		Class.forName("com.mysql.jdbc.Driver");
		conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/easyui", "root", "root");
		sta = conn.createStatement();
		rs = sta.executeQuery("select * from e_user");
		ResultSetMetaData md = rs.getMetaData(); //获得结果集结构信息,元数据
		int columnCount = md.getColumnCount();   //获得列数 
		while (rs.next()) {
			Map<String,Object> rowData = new HashMap<String,Object>();
			for (int i = 1; i <= columnCount; i++) {
				rowData.put(md.getColumnName(i), rs.getObject(i));
			}
			list.add(rowData);

		}
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return "success";
}

 

ResultSet简介:
    ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法(这些get方法可以访问当前行中的不同列)

    提供了对这些行中数据的访问。ResultSet.next方法用于移动到ResultSet中的下一行,使下一行成为当前行。

    上面的rs.getObject(i) 即是获得这一行的数据值

ResultSetMetaData简介:
    利用ResultSet的getMetaData的方法可以获得ResultSetMeta对象,而ResultSetMetaData存储了ResultSet的MetaData。

    所谓的MetaData在英文中的解释为"Data about Data",直译成中文则为"有关数据的数据"或者"描述数据的数据",

    实际上就是描述及解释含义的数据。以Result的MetaData为例,ResultSet是以表格的形式存在,所以getMetaData

    就包括了数据的 字段名称、类型以及数目等表格所必须具备的信息。在ResultSetMetaData类中主要有一下几个方法。

    ResultSetMetaData rsmd=rs.getMetaData();

    1、getColumCount()方法

    返回所有字段的数目

    2、getColumName()方法

    根据字段的索引值取得字段的名称。

    3、getColumType()方法

    根据字段的索引值取得字段的类型

 

 

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://www.cnblogs.com/captainbed







以上是关于结果集存放在 List<Map<String,Object>>中怎么使用Java代码遍历获取String,Object的值?的主要内容,如果未能解决你的问题,请参考以下文章

将List进行分组后结果返回Map结果集

将JDBC ResultSet结果集转成List

map里面存放一个list,list里面存放map,用freemarker模版怎么设置,将数据与模版组合时取出里面的数据

关于使用map存放数据乱序”问题“

我有两个list,list里面放的是map,我现在需要遍历这两个list,将里面存放的map中key相等的value值相加

java Map集合中存放不同的Key 且key 对应多个不同的值??