Maison >base de données >tutoriel mysql >Comment récupérer l'ID d'auto-incrémentation avec des instructions préparées en Java ?

Comment récupérer l'ID d'auto-incrémentation avec des instructions préparées en Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-15 04:57:02981parcourir

How to Retrieve Autoincrement ID with Prepared Statements in Java?

Récupérer l'ID d'auto-incrémentation avec des instructions préparées en Java

Dans JDBC, l'obtention de la clé primaire générée automatiquement après une opération d'insertion est cruciale pour beaucoup candidatures. Cela se fait généralement en utilisant l'indicateur RETURN_GENERATED_KEYS avec createStatement(). Cependant, l'utilisation de cette approche avec des instructions préparées peut entraîner des erreurs, car les instructions préparées ne prennent pas en charge l'indicateur RETURN_GENERATED_KEYS par défaut.

Heureusement, il existe une solution pour récupérer l'ID généré automatiquement à l'aide d'instructions préparées. En ajoutant l'indicateur Statement.RETURN_GENERATED_KEYS comme deuxième paramètre à la méthode prepareStatement(), vous pouvez activer cette fonctionnalité. Voici comment modifier le code que vous avez fourni :

String sql = "INSERT INTO table (column1, column2) values(?, ?)";
stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

stmt.executeUpdate();
if (returnLastInsertId) {
   ResultSet rs = stmt.getGeneratedKeys();
   rs.next();
   auto_id = rs.getInt(1);
}

Maintenant, lorsque vous exécutez l'instruction préparée, la méthode stmt.getGeneratedKeys() renverra un ResultSet contenant l'ID généré automatiquement. Cela vous permet de récupérer l'identifiant et de l'utiliser selon vos besoins dans votre application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn