私が継承したコードには、次の形式の多くのトランザクション コード メソッドがあります。
public void addCourseToCourses(String values)
{
try
{
conn.setAutoCommit(false);
}
catch (SQLException e)
{
Logger.getLogger(connDb.class.getName()).log(Level.SEVERE, null, e);
return;
}
try
{
stmt.executeUpdate("insert into courses values " + values);
conn.commit();
}
catch (SQLException e)
{
try
{
conn.rollback();
}
catch (SQLException ex)
{
Logger.getLogger(connDb.class.getName()).log(Level.SEVERE,null, ex);
}
}
finally
{
try
{
conn.setAutoCommit(true);
}
catch (SQLException ex)
{
Logger.getLogger(connDb.class.getName()).log(Level.SEVERE,null, ex);
}
}
}
メソッドごとに異なる変数部分はどこですか
stmt.executeUpdate("insert into courses values " + values);
いくつかの挿入の場合もあれば、削除の場合もあります。C++ からのマクロの使用を見逃していますが、メソッドごとにこのすべてのトランザクション コードを繰り返さない方法があると確信しています。
ヘルプ ?
(conn および stmt は、タイプ java.sql.Connection および java.sql.Statement のクラス メンバーです)