jdbcを使用して更新クエリを作成しています。しかし、条件に基づいて私は列に異なる値を設定する必要があります。このコードをより簡単なコードとして変更できますか?あなたのアイデアを教えてください。Javaを使用した一般的なjdbc更新クエリ
if(allDealsCreated) {
System.out.println("Updating the status of the deals as CLOSED");
if(deals != null && !deals.isEmpty()) {
for (String dealId : deals) {
PreparedStatement closedPreparedStatement = null;
try (Connection con = DriverManager.getConnection(
"jdbc:as400://localhost/BB",
"<username>",
"<password>")) {
String sql = "<Update query to set status as closed>";
closedPreparedStatement = con.prepareStatement(sql);
closedPreparedStatement.executeUpdate();
} catch(Exception e) {
e.printStackTrace();
}
}
}
} else {
System.out.println("Updating the status of the deals as NEW");
if(deals != null && !deals.isEmpty()) {
for (String dealId : deals) {
PreparedStatement newPreparedStatement = null;
try (Connection con = DriverManager.getConnection(
"jdbc:as400://localhost/BB",
"<username>",
"<password>")) {
String sql = "<Update query to set status as new>";
newPreparedStatement = con.prepareStatement(sql);
newPreparedStatement.executeUpdate();
} catch(Exception e) {
e.printStackTrace();
}
}
}
}
あなたのコードの2つの半分の間の唯一の違いは、SQLクエリ自体であれば、おそらくそれ(とそれだけで)はallDealsCreated' 'に応じて先頭に設定する必要があります。私はまた、あなたのループの各反復ではなく、一度だけ接続を取得したいと思います。それは物事を単純化するはずです。 – dave
@dave、例を挙げて説明してください。 – Yakhoob
私はあなたに手渡しではなく自分で試してみることが良い学習経験と思っていたので、コードを教えてくれませんでした。しかし、それは他の誰かがちょうどそれを行ったように見えます:) – dave