我已经创建了一种更新数据库表的方法。
我试图以通用方式进行,因此可以在不同的表格和不同条件下重复使用。这是我的代码:
public void updateTable(String table, String column, String value, String[] conditions) throws SQLException
{
PreparedStatement prepStatement = null;
String query = "UPDATE ? SET ? = ? WHERE ";
String[] condSplits;
HashMap<String, String> map = new HashMap<String, String>();
Integer i = 1;
for(String parameter : conditions)
{
condSplits = parameter.split(" ");
map.put(condSplits[0], condSplits[2]);
query += "? "+condSplits[1]+"?";
if(i == conditions.length)
{
query += " AND ";
}
i++;
}
prepStatement = this.con.prepareStatement(query);
prepStatement.setString(1, table);
prepStatement.setString(2, column);
i=2;
for(Map.Entry<String, String> condition: map.entrySet())
{
prepStatement.setString(++i, condition.getKey());
prepStatement.setString(++i, condition.getKey());
}
prepStatement.executeQuery();
this.con.commit();
}
我不知道是否有更简单的方法或更好的做法,你怎么看?
我需要使用JDBC代替JPA。
提前致谢。