实现一次更新多条数据

实现用一条sql去更新多条语句的前提是多条语句的条件不同,但是更新的字段及字段的值都是相同的,这样才能去更新。

public void updateMoreNumber(String[] ids){
    StringBuffer sb = new StringBuffer("update task update_time = :update_time, flag = :flag where id in(");

    int len = ids.length();
    for(int i = 0; i < len; i++){
        sb.append(" '" + ids[i] + "'");

        if(i+1 < len){
            sb.append(" , ");
        }
    }

    sb.append(")");

    Query query = getCurrentSession().createSQLQuery(sb.toString());
    query.setTimestamp("update_time",DateUtils.now());
    query.setParameter("flag","1");

    query.executeUpdate();
}

你可能感兴趣的:(数据库)