怎么把数据库查询的结果保存到map中
resultSet=query(sql);Map<String,Object>result=newHashMap<String,Object>();result.put(...
resultSet =query(sql);
Map<String, Object> result= new HashMap<String, Object>();
result.put(sql,?);//问号里要怎么写? 展开
Map<String, Object> result= new HashMap<String, Object>();
result.put(sql,?);//问号里要怎么写? 展开
3个回答
展开全部
1、首先初始化一个map,然后按照代码依次打印Map的数据。
2、执行结果如下,可见打印结果并不是按插入顺序打印的。
3、将代码修改为LinkedHashMap,遍历LinkedHashMap。
4、打印结果为按Map插入顺序打印,可见LinkedHashMap中的数据是有序的,排序方式按照插入顺序。
5、最后将代码修改为new TreeMap,然后遍历TreeMap。
6、打印结果为自然顺序,即按字符串中的字母和数字的大小来排序,可见treeMap中的数据是有序的,按key的大小来排序。
推荐于2017-09-16 · 知道合伙人数码行家
关注
展开全部
在java中把数据库查询的结果保存到map中:
实现:获得ResultSet rs 时可以转化为ResultSetMetaData对象。
ResultSetMetaData可用于获取关于 ResultSet 对象中列的类型和属性信息的对象。
举例说明如下:
//获得ResultSetMetaData对象
ResultSetMetaData rsmd=rs.getMetaData();
//获得返回此 ResultSet 对象中的列数
int count = rsmd.getColumnCount();
while(rs.next()){
Map map=new HashMap();
for(int i=1;i<count;i++){
//获取指定列的表目录名称
String label=rsmd.getColumnLabel(i);
//以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值
Object object= rs.getObject(i);
//把数据库中的字段名和值对应为一个map对象中的一个键值对
map.put(label.toLowerCase(), object);
}
把每条对象封装成的map对象放进list中
list.add(map);
}
就此就可以把任意resultet通过这个方法生成list对象。
实现:获得ResultSet rs 时可以转化为ResultSetMetaData对象。
ResultSetMetaData可用于获取关于 ResultSet 对象中列的类型和属性信息的对象。
举例说明如下:
//获得ResultSetMetaData对象
ResultSetMetaData rsmd=rs.getMetaData();
//获得返回此 ResultSet 对象中的列数
int count = rsmd.getColumnCount();
while(rs.next()){
Map map=new HashMap();
for(int i=1;i<count;i++){
//获取指定列的表目录名称
String label=rsmd.getColumnLabel(i);
//以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值
Object object= rs.getObject(i);
//把数据库中的字段名和值对应为一个map对象中的一个键值对
map.put(label.toLowerCase(), object);
}
把每条对象封装成的map对象放进list中
list.add(map);
}
就此就可以把任意resultet通过这个方法生成list对象。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好,刚才那个问题我帮你回答了,看来你还是没有理解我说的意思。
resultSet有一系列的getString().getInt()等方法,可以将结果集中的数据取出来,然后包装成对象,在放入map中就好了。你是用的hibernate还是jdbc?
resultSet有一系列的getString().getInt()等方法,可以将结果集中的数据取出来,然后包装成对象,在放入map中就好了。你是用的hibernate还是jdbc?
更多追问追答
追问
jdbc
追答
while(resultSet,hasNext()){
//依次取出查询的数据,如你的那句select name from user ;就这样写:
//String name = resultSet.getString(1) ;
map.put(sql,name) ;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询