Как использовать оператор IN в partiqL DynamodB
Я хочу преобразовать этот запрос select lKey из KeyMapping, где gKey in ['A # 1', 'A # 2', 'A # 3'];
У меня есть список, содержащий A # 1, A # 2 и A # 3
в код Java для извлечения записей из DynamoDB с помощью PartiQL
1 ответ
@Autowired
private AmazonDynamoDB client;
List<String> paramList = new ArrayList<>(); //List of Parameters
paramList.add("A#1");
paramList.add("A#2");
paramList.add("A#3");
ExecuteStatementRequest request = new ExecuteStatementRequest();
String[] placeholders = new String[paramList.size()];
Arrays.fill(placeholders, "?");
String commalist = Arrays.stream(placeholders).collect(Collectors.joining(","));
request.setStatement("select * from "+appConfigs.getBoclipsTableName()+" where id in ("+commalist+")");
List<AttributeValue> parameters = new ArrayList<>();
for(String videoId: videoIds){
parameters.add(new AttributeValue(videoId));
}
System.out.println(client.executeStatement(request).toString());