我有一个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+"')";

10-06 02:19