如何在spring中实现动态更新sql

时间:2016-07-15 08:13:39

标签: java mysql spring

public void updateById(Suser user) {
    StringBuilder sql = new StringBuilder();
    Map<String, Object> params = new HashMap<String, Object>();

    sql.append("update " + TABLE_NAME + " u");
    sql.append(" set");
    sql.append(" user_name=:userName,password=:password,role=:role,enable=:enable,service_pwd=:servicePwd,cluster_id=:clusterId");
    sql.append(" where");
    sql.append(" id=:id");

    params.put("userName", user.getUserName());
    params.put("password", user.getPassword());
    params.put("role", user.getRole());
    params.put("enable", user.isEnable());
    params.put("id", user.getId());
    params.put("servicePwd", user.getServicePwd());
    params.put("clusterId", user.getCluster().getId());
    getNamedParameterJdbcTemplate().update(sql.toString(), params);
}

这是当前的DAO层,如果只使用一种方法来更新部分列,我该怎么办?每次需要更新的列都可能不同。

追加动态sql或者aleady在春天有一个简洁的方法吗?

1 个答案:

答案 0 :(得分:0)

update table_name set column_name ='SYSDATE - 30/1440'; 此查询将从现有时间添加30分钟,您可以相应地更改值以更改时间。