Hallo, ich bin Weiki und willkommen bei Ape Java.
Vor kurzem habe ich einige Produkte von AWS (Amazon) geworfen. DynamoDB, eine NoSql-Datenbank, wird in der Entwicklung verwendet. Die Anforderung besteht darin, user_id in der Abfrage der Benutzertabelle auszuführen. Ich habe viele API-Dokumente von DynamoDB in der Mitte konsultiert. und schließlich eine brauchbare Testdemo geschrieben, der Code lautet wie folgt:
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper;
public class TestClass {
@Autowired
DynamoDBMapper dynamoDBMapper;
@Test
public void scanWithInSelectTest() {
initData();
List<String> userList = new ArrayList<>();
userList.add("iamtest");
userList.add("iamtest2");
DynamoDBScanExpression queryExpression = new DynamoDBScanExpression();
queryExpression.setConsistentRead(false);
String condFilter = "";
HashMap<String, AttributeValue> attrs = new HashMap<>();
// 拼装in 的sql语句
if (!userList.isEmpty()) {
condFilter += " #UserId in (" +
IntStream.range(0, userList.size()).mapToObj(i -> ":userId" + i).collect(Collectors.joining(","))
+ ")";
for (int i = 0; i < userList.size(); i++) {
attrs.put(":userId" + i, new AttributeValue().withS(userList.get(i)));
}
queryExpression.setExpressionAttributeNames(Map.of("#UserId", "UserId"));
}
queryExpression.setFilterExpression(condFilter);
queryExpression.withExpressionAttributeValues(attrs);
PaginatedScanList<UserModel> jobs = dynamoDBMapper.scan(UserModel.class, queryExpression);
assertTrue(!jobs.isEmpty());
}
}
Ich verwende Gradle zum Kompilieren. Die aws-java-sdk-Abhängigkeiten sind wie folgt. Sie können maven verwenden, um die entsprechenden Abhängigkeiten anzuzeigen. Schließlich, wenn Sie Hortensie verwandt haben, können Sie den entsprechenden Code entsprechend der tatsächlichen Entwicklung ändern.
dependencies {
implementation platform("com.amazonaws:aws-java-sdk-bom:$aws_sdk_ver")
}
Bei diesem Artikel handelt es sich um einen Originalartikel, bei Nachdruck bitte Quelle angeben.
Link zu diesem Artikel: http://yuanjava.cn/common/2022/04/18/dynamodbin.html
Dieser Artikel stammt aus dem Blog von ape java