SQL IN查询中的ArrayList抛出内存位置而不是字符串

时间:2016-08-11 07:51:26

标签: java sql arraylist sql-in

当我尝试在SQL IN语句中传递我的arraylist时,它将作为内存位置而不是字符串传递。

SELECT Pid FROM details WHERE number IN (" +  tempArrayList.toString().replaceAll("\\[(.*?)\\]", "$1") + ")" ;

但是,正如我在问题描述中所述,它会打印

SELECT part_id FROM parts_details WHERE part_number IN ([Ljava.lang.Object;@7bb11784, [Ljava.lang.Object;@1ae369b7)

我尝试了一些替代方案

  1. 使用StringUtils.Join(tempArrayList.iterator())
  2. 创建数组字符串
  3. Arrays.toString(tempArrayList.get(0)).replaceAll("[\\[\\]]", "") + "','"

0 个答案:

没有答案