QueryRunner クラスを使用して mysql データベースからレコードを削除するにはどうすればよいですか? ID は文字列の配列として渡されます。また、DML 操作に apache common db utils を使用することが有効かどうか、代替手段またはベスト プラクティスは何か教えてください。
以下は私の StudentDAO.java クラスからの抜粋です。
public boolean deleteStudent(String [] ids) {
Connection connection = null;
String query;
boolean result = false;
try {
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/cmsDB");
connection = ds.getConnection();
QueryRunner run = new QueryRunner(ds);
query = "delete tbl_student where student_id";// what should i put here???
int nor = run.update(query, ids); //nor = no of records
if (nor > 0) {
result = true;
} else {
result = false;
}
} catch (NumberFormatException e) {
// e.getMessage();
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
DbUtils.closeQuietly(connection);
}
return result;
}