当我运行此代码时:
List<Map<String, Object>> beforeDelete = query("select count(*) from wp_announcement where announcement_id =" + announcementId, null);
System.out.println("This is the count : " + beforeDelete.get(0));
我得到了这个结果:
This is the count : {C1=1}
如何才能获得1
,而不是{C1=1}
?
答案 0 :(得分:2)
如果您知道返回的地图的结构与您显示的结构完全一致,您可以在C1
键中获取值,如下所示:
int val = ((Integer)beforeDelete.get(0).get("C1")).intValue();
添加安全检查以确保结果只有一个元素,并且初始元素的键"C1"
映射到java.lang.Integer
。
只要查询得到修复,这应该是安全的。如果查询来自您控件之外的某些来源,则需要通过其他方式来访问结果。
注意:假设查询进入某个RDBMS,您应该参数化查询以避免注入攻击。
答案 1 :(得分:1)
您收到{C1=1}
因为beforeDelete.get(0)
返回Map<String, Object>
。
如何才能获得1而不是{C1 = 1}?
就像从地图中检索元素,即使用其键
beforeDelete.get(0).get("C1");