Utilisation de la bibliothèque cliente Java pour l'API de données RDS - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de la bibliothèque cliente Java pour l'API de données RDS

Vous pouvez télécharger et utiliser une bibliothèque cliente Java pour RDS Data API (Data API). Cette bibliothèque cliente Java fournit une autre méthode pour utiliser l'API de données. À l'aide de cette bibliothèque, vous pouvez mapper vos classes côté client aux demandes et réponses de l'API de données. La prise en charge de ce mappage peut faciliter l'intégration à certains types Java précis, comme Date, Time et BigDecimal.

Téléchargement de la bibliothèque client Java pour l'API de données

La bibliothèque cliente Java de l'API de données est open source GitHub à l'emplacement suivant :

https://github.com/awslabs/rds-data-api-client-bibliothèque-java

Vous pouvez créer la bibliothèque manuellement à partir des fichiers sources, mais la bonne pratique consiste à la consommer en utilisant la gestion des dépendances Apache Maven. Ajoutez la dépendance suivante à votre fichier POM Maven.

Pour la version 2.x, qui est compatible avec le AWS SDK 2.x, utilisez ce qui suit :

<dependency> <groupId>software.amazon.rdsdata</groupId> <artifactId>rds-data-api-client-library-java</artifactId> <version>2.0.0</version> </dependency>

Pour la version 1.x, qui est compatible avec le AWS SDK 1.x, utilisez ce qui suit :

<dependency> <groupId>software.amazon.rdsdata</groupId> <artifactId>rds-data-api-client-library-java</artifactId> <version>1.0.8</version> </dependency>

Exemples relatifs à la bibliothèque client Java

Vous trouverez, ci-dessous, quelques exemples d'utilisation de la bibliothèque client Java de l'API de données. Ces exemples supposent que vous disposez d'un tableau accounts à deux colonnes : accountId et name. Vous disposez également de l'objet de transfert de données (DTO) suivant.

public class Account { int accountId; String name; // getters and setters omitted }

La bibliothèque cliente vous permet de passer en DTOs tant que paramètres d'entrée. L'exemple suivant montre comment le client DTOs est mappé aux ensembles de paramètres d'entrée.

var account1 = new Account(1, "John"); var account2 = new Account(2, "Mary"); client.forSql("INSERT INTO accounts(accountId, name) VALUES(:accountId, :name)") .withParamSets(account1, account2) .execute();

Dans certains cas, il est plus facile de travailler avec des valeurs simples en tant que paramètres d'entrée. Pour cela, utilisez la syntaxe suivante.

client.forSql("INSERT INTO accounts(accountId, name) VALUES(:accountId, :name)") .withParameter("accountId", 3) .withParameter("name", "Zhang") .execute();

Voici un autre exemple qui fonctionne avec des valeurs simples en tant que paramètres d'entrée.

client.forSql("INSERT INTO accounts(accountId, name) VALUES(?, ?)", 4, "Carlos") .execute();

La bibliothèque cliente fournit un mappage automatique vers le DTOs moment où un résultat est renvoyé. Les exemples suivants montrent comment le résultat est mappé à votre DTOs.

List<Account> result = client.forSql("SELECT * FROM accounts") .execute() .mapToList(Account.class); Account result = client.forSql("SELECT * FROM accounts WHERE account_id = 1") .execute() .mapToSingle(Account.class);

Dans de nombreux cas, l'ensemble de résultats de la base de données ne contient qu'une seule valeur. Afin de simplifier la récupération de ces résultats, la bibliothèque cliente propose l'API suivante :

int numberOfAccounts = client.forSql("SELECT COUNT(*) FROM accounts") .execute() .singleValue(Integer.class);
Note

La fonction mapToList convertit un ensemble de résultats SQL en liste d'objets définie par l'utilisateur. Nous ne prenons pas en charge l'utilisation de l'instruction .withFormatRecordsAs(RecordsFormatType.JSON) dans un appel ExecuteStatement pour la bibliothèque cliente Java, car elle a la même finalité. Pour de plus amples informations, veuillez consulter Traitement des résultats des requêtes de l'API Amazon RDS Data au format JSON.