你好,刚才那个问题我帮你回答了,看来你还是没有理解我说的意思。
resultSet有一系列的getString()getInt()等方法,可以将结果集中的数据取出来,然后包装成对象,在放入map中就好了。你是用的hibernate还是jdbc
我的回答你还满意吗~~
在java中把数据库查询的结果保存到map中:
实现:获得ResultSet rs 时可以转化为ResultSetMetaData对象。
ResultSetMetaData可用于获取关于 ResultSet 对象中列的类型和属性信息的对象。
举例说明如下:
//获得ResultSetMetaData对象
ResultSetMetaData rsmd=rsgetMetaData();
//获得返回此 ResultSet 对象中的列数
int count = rsmdgetColumnCount();
while(rsnext()){
Map map=new HashMap();
for(int i=1;i<count;i++){
//获取指定列的表目录名称
String label=rsmdgetColumnLabel(i);
//以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值
Object object= rsgetObject(i);
//把数据库中的字段名和值对应为一个map对象中的一个键值对
mapput(labeltoLowerCase(), object);
}
把每条对象封装成的map对象放进list中
listadd(map);
}
就此就可以把任意resultet通过这个方法生成list对象。
吧keyset存起来就行了啊。但是我觉得没啥用。因为你的hashmap是基于你java进程的,进程结束或者杀死,hashmap的值就没了但是数据库不会清空啊。除非每次你启动项目都去清理数据库
可以通过ArcToolbox转换:
(1)将MapGIS中的数据保存为shape格式(在保存时可直接设置),如果不行可能是由于版本过旧无此功能,此时可使用外部的格式转换器(推荐使用MyFME,MyFME中MyFME
For
MapGIS6x模块是为了让FME能读与写MapGIS数据格式);
(2)在ArcGIS中打开ArcToolbox(推荐使用ArcCatalog),再导入已有的shape文件;
(3)打开ArcMap,运行已导入的shape文件。
这个问题,看你的代码怎么规范。将数据库中取出的值存如map的value,再把value循环存入list。如果map的key值没有逻辑要求,可以将key字符串设置成迭代参数,如"0","1","2"等,循环如下:
for(int i=0;i<length;i++){
String key=""+i;
listadd(mapget(key));
}
action中定义map:private Map<String, String> strMap = new HashMap<String, String>();然后从数据库中取出数据填充。
页面显示:
<li>迭代循环取值,最简单
<s:iterator value="strMap" id="entry">
<s:property value="#entry"/>{
key: <s:property value="key"/>
value:<s:property value="value"/>}|
</s:iterator>
</li>
以上就是关于怎么把数据库查询的结果保存到map中全部的内容,包括:怎么把数据库查询的结果保存到map中、从数据库中读取表信息然后返回成Map集合对象、怎么将HashMap中的键存到数据库里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)