Java 8筛选流以替换(…)中的SQL条款
有没有任何方法可以通过像SQL IN子句这样的集合获得相同的结果?例如,有一个对象列表,我必须选择那些ID在(2,17,31,…)中的对象什么是SQL
SELECT *
FROM table_name
WHERE column_name IN (value1, value2, ...);
你可以在下面搜索框中键入要查询的问题!
有没有任何方法可以通过像SQL IN子句这样的集合获得相同的结果?例如,有一个对象列表,我必须选择那些ID在(2,17,31,…)中的对象什么是SQL
SELECT *
FROM table_name
WHERE column_name IN (value1, value2, ...);
# 1 楼答案
您可以在筛选器中使用谓词来模拟
IN
子句:一个简单且未经测试的示例:
输出应该是
1, 2, 3
# 2 楼答案
我想出了办法:
您传入一个整数列表,并获得过滤后的列表:
# 3 楼答案
只需使用apachecommons集合
https://commons.apache.org/proper/commons-collections/javadocs/api-release/org/apache/commons/collections4/ListUtils.html#intersection