J'essaie d'insérer une valeur sans out l'exécution par lots renverra la valeur que je mentionne dans la requête mais ne fonctionne pas dans l'exécution par lots. Il renvoie uniquement un tableau d'entiers avec le statut 1 ou 0. Mon code d'exemple sont donnés ci-dessous.Jeu de résultats PostgreSQL renvoyé par executeBatch dans java
Connection connection = ConnectionManager.getInstance().getDBConnection();
String query = "insert into custom_attribute_mapping (product_id,attribute_id,attribute_values) values (49,22,'yyyyyyyyyyyyy') RETURNING attribute_mapping_id";
try (PreparedStatement prepStmt2 = connection
.prepareStatement(query)) {
int i =0;
ResultSet rs = prepStmt2.executeQuery();
while (rs.next()) {
System.out.println(rs.getInt(1));
}
} catch (Exception e) {
}
Dans le code ci-dessus j'ai obtenu la valeur de l'attribut_mapping_id. mais dans le code ci-dessous le type de retour de executeBatch est un tableau d'entiers et il a seulement le statut d'insertion.
Connection connection = ConnectionManager.getInstance().getDBConnection();
String query = "insert into custom_attribute_mapping (product_id,attribute_id,attribute_values) values (49,22,'yyyyyyyyyyyyy') RETURNING attribute_mapping_id";
try (PreparedStatement prepStmt2 = connection
.prepareStatement(query)) {
int i =0;
while(i<5){
i++;
prepStmt2.addBatch();
}
int[] rs = prepStmt2.executeBatch();
for(int r:rs){
System.out.println(r);
}
} catch (Exception e) {
}
peut-on s'il vous plaît aidez-moi.