从数据库中读取表信息然后返回成Map集合对象

从数据库中读取表信息然后返回成Map集合对象,第1张

在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=1i<counti++){

//获取指定列的表目录名称

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对象。

List<Map<String,Object>>list=new ArrayList<Map<String,Object>>()//你的list

//声明一个Map用于返回

Map<String,List<String>>map=new HashMap<String,List<String>>()

//循环你拿来的List

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

Map<String,Object>m=list.get(i)

for (String key:m.keySet()) {

List<String>l=map.get(key)

if(l!=null){

l.add((String)m.get(key))

}else{

List<String>newL=new ArrayList<String>()

newL.add((String)m.get(key))

map.put(key, newL)

}

}

}

return map

这个问题我前2天回答了一模一样的,。。。。莫非你们是同班同学。。。有疑问可以追问

写了一个简单的例子,希望能帮你提供下思路。

Map

map=new

HashMap

()

map.put("1",

"11111")

map.put("2",

"22222")

map.put("3",

"33333")

下面的方法可以写成一个公用的方法。遍历后将截取的原放回map中,返回即可达到你想要的结果。方法可以带两个参数,一个是需要遍历的Map,另一个是key,如果key为null则遍历map,截取所有对象指定的属性。如果key有值则截取key对应的值。

for(Entry

entry:map.entrySet()){

map.put(entry.getKey(),entry.getValue().substring(0,

entry.getValue().length()))//map中key相同时,后者会覆盖前者的value

System.out.println("key:"+entry.getKey()+"value:"+entry.getValue())

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10087428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存