sql模板好像不支持Update sqlPara

sql

#sql("modiflyPoints")
  update points as p set p.point_value = #(newValue) where p.member_id = #(memberId) and p.point_type = #(pointType) and p.index_time = #(indexTime) and point_value = #(oldValue)
#end

java

Kv cond = Kv.by("newValue", newValue)
      .set("memberId", member.getId())
      .set("pointType", pointType.getCode())
      .set("indexTime", indexTime)
      .set("oldValue", 1);
SqlPara sqlPara = Db.getSqlPara("points.modiflyPoints", cond);

我想最后去做update好像Db.update不支持 sqlPara

评论区

JFinal

2017-08-12 17:41

升级到 jfinal 3.2 就支持了这个功能

JFinal

2017-08-12 18:03

如果暂时不想升级,可以用下面的方法支持:
SqlPara sp = Db.getSqlPara(...);
Db.update(sp.getSql(), sp.getPara());

yjjdick1990

2017-08-13 13:46

@JFinal 换成3.2可以了,save怎么办?save连(string sql, Object[] para)的函数申明都没有实现,我save如果是去sql模板找sql并动态传参如何实现?我想了下如果我用Db.update(insertSqlPara)去放insert sql 语句这样有问题吗波总

JFinal

2017-08-13 14:07

@yjjdick1990 save 看你是想实现什么,Db.save(...) 支持 Record 对象保存,如果你希望支持 String sql, Object... para 这样的参数,用一下 Db.update(sqlPara) 即可

JFinal

2017-08-13 14:08

Db 的 update 方法并不是只支持 update 型的 sql,同时也支持 insert、delete 这样的 sql 语句, just do it

热门反馈

扫码入社