我有一个LinkedHahMap map1,它的键是我的beam_current,它是双精度类型,值是我的logtime,它是字符串类型。
现在,我想在SQL查询中使用此map1.keySet()-
Set<Double> arr= map1.keySet();
String vs2="select b.beam_current, b.beam_energy where
b.logtime between '"+first+"' and '"+last+"' and b.beam_current in('"+arr+"')";
但是当我使用保存map1键值的arr时,**什么都没有显示。**我们不能在sql查询中使用map1.KeySet()方法吗?或者我以错误的方式暗示了它吗?
最佳答案
首先将地图键转换为逗号分隔的字符串,然后在查询中使用它。
List<Double> slist = new ArrayList<Double>(map1.keySet());
String s = StringUtils.join(slist, ',');
String vs2="select b.beam_current, b.beam_energy where
b.logtime between '"+first+"' and '"+last+"' and
b.beam_current in('"+s+"')";