在jdbc上更新表的通用方法

时间:2016-09-21 15:36:38

标签: java sql generics jdbc

我已经创建了一种更新数据库表的方法。

我试图以通用方式进行,因此可以在不同的表格和不同条件下重复使用。这是我的代码:

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。

提前致谢。

0 个答案:

没有答案