Récupérer les ID des dernières entrées ajoutées avec le tMysqlLastInsertId
Le scénario Java suivant permet d'ouvrir une connexion à une base de données MySQL, d'y écrire des données spécifiées et de récupérer le dernier ID ajouté à la connexion existante.
Pour plus de technologies supportées par Talend, consultez Composants Talend.
-
Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tMysqlConnection, un tMysqlCommit, un tFileInputDelimited, un tMysqlOutput, un tMysqlLastInsertId et un tLogRow.
-
Reliez le tMysqlConnection au tFileInputDelimited à l'aide d'un lien OnSubjobOk.
-
Reliez le tFileInputDelimited au tMysqlCommit à l'aide d'un lien OnSubjobOk.
-
Reliez les trois derniers composants au tFileInputDelimited à l'aide de liens Row Main.
-
Sélectionnez le tMysqlConnection en cliquant dessus à partir de l'éditeur graphique.
-
Cliquez sur la vue Component du tMysqlConnection pour en définir la configuration de base (Basic settings).
-
Dans l'onglet Basic settings, saisissez les paramètres de connexion de manuellement ou sélectionnez-les à partir d'une liste de variables de contexte. Si vous les avez stockées localement sous le nœud DB connections de la partie Metadata (Métadonnées), vous accéderez à cette liste en cliquant dans le champ correspondant, puis en appuyant sur Ctrl+Espace. Pour plus d'informations concernant les métadonnées, consultez le Guide d'utilisation du Studio Talend.
-
Dans l'espace de modélisation graphique, double-cliquez sur le tMysqlCommit afin d'afficher sa vue Component et définir ses propriétés de base.
-
Dans le champ Component list, sélectionnez le composant tMysqlConnection approprié si vous effectuez un Job à plusieurs connexions.
-
Dans l'espace de modélisation graphique, sélectionnez le composant tFileInputDelimited.
-
Cliquez sur la vue Component du tFileInputDelimited pour en définir la configuration de base (Basic settings).
-
Renseignez le chemin d'accès au fichier à traiter dans le champ File Name. Dans cet exemple, le nom du fichier est Customers.
-
Dans le champ Row separator, définissez le séparateur de lignes permettant d'identifier les fins de ligne. Puis définissez le séparateur de champs dans Field separator pour délimiter les champs composant une ligne.
-
Définissez le nombre de lignes d'en-tête et de pied-de-page à ignorer, ainsi que le nombre maximum de lignes que vous souhaitez traiter. Dans cet exemple, le fichier comporte une ligne d'en-tête.
-
Cliquez sur le bouton [...] à côté de Edit Schema pour définir les données à passer au composant suivant.
Sujets associés : consultez le Guide d'utilisation du Studio Talend.
Dans ce scénario, le schéma se compose de deux colonnes, name et age. La première colonne comprend le nom des employés et la seconde comporte leurs âges respectifs.
-
Dans l'espace de modélisation graphique, sélectionnez le composant tMysqlOutput.
-
Cliquez sur la vue Component du tMysqlOuptput pour en définir les paramètres simples.
-
Cochez la case Use an existing connection.
-
Dans le champ Table, renseignez le nom de la table dans laquelle vous voulez écrire la liste des employés. Dans cet exemple, il s'agit de la table employee.
-
Sélectionnez les actions à effectuer dans les listes Action on table et Action on data. Dans cet exemple, n'effectuez aucune action sur la table elle-même mais exécutez une action Insert sur les données.
-
Cliquez sur le bouton Sync columns pour synchroniser les colonnes par rapport au composant précédent. Dans cet exemple, le schéma à reproduire dans la table de la base de données MySQL se compose des deux colonnes name et age.
-
Dans l'espace de modélisation graphique, sélectionnez tMysqlLastInsertId.
-
Cliquez sur la vue Component du tMysqlLastInsertId pour en définir la configuration de base (Basic settings).
-
Dans le champ Component list, sélectionnez le composant tMysqlConnection approprié si vous effectuez un Job à plusieurs connexions.
-
Cliquez sur le bouton Sync columns pour synchroniser les colonnes par rapport au composant précédent. Dans le schéma de sortie du tMysqlLastInsertId, vous pouvez voir la colonne last_insert_iden lecture seule qui récupère les derniers ID ajoutés à la connexion existante.
Vous pouvez sélectionner le type de données Long dans la liste déroulante Type, dans le cas de nombreuses entrées.
-
Dans l'espace de modélisation graphique, sélectionnez le tLogRow puis cliquez sur la vue Component pour en définir la configuration de base. Pour plus d'informations, consultez tLogRow.
-
Sauvegardez votre Job et appuyez sur F6 pour l'exécuter.
Le composant tMysqlLastInsertId affiche les dernières ID ajoutées pour chaque ligne de la connexion existante.