我想要泛化方法将普通 sql 查询转换为 java 中的参数化 sql
我有以下已在项目中使用的方法。这有很多参考。
public Object executeQuery(String aQuery) {
Connection con = null;
Statement stmt = null;
ResultSet r = null;
try {
con = getConnection() ;
stmt = con.createStatement();
r = stmt.executeQuery(aQuery);
if (r.next()) {
//return extracted result;
}
return null;
} catch (SQLException e) {
throw new RuntimeException(
"Cannot execute query " + aQuery + " : " + e.getMessage());
} finally {
cleanup(r,stmt,con);
}
}
//=========
//calling above method
executeQuery("Update USER set user_id = 15 where user_name='test');
我正在考虑使用 java 准备语句将其转换为参数化 sql。然后方法调用不会改变,但查询像
Update USER set user_id = 15 where user_name='test'
将使用 java PreparedStatement 和适当的参数
Update USER set user_id = ? where user_name=?
有没有办法像使用 Spring 或其他框架一样做到这一点。
提前致谢 !