将两个列值的数组传递给查询 - SpringJDBC

时间:2016-07-17 02:37:27

标签: java spring spring-jdbc

如何将两列值的数组发送到sql查询的where条件? 'in'条件中的值是可变的。请参阅下面的示例。

select *
from table_a ncjp
where
  (ncjp.col_a,ncjp.col_b) in ((2855824,5),(2855824,6));

1 个答案:

答案 0 :(得分:-2)

你可以建立一个最好的方法是创建一个函数,该函数返回该2D数组的索引上的值,所以我猜是这样的

public object getElementAt(object [] []arr, int a, b){
return arr[a,b];
}

然后你可以做

select *
from table_a ncjp
where
  (ncjp.col_a,ncjp.col_b) in :x;
query.setParameter("x", getElementAt(arr,1,2));