首先先表达一下使用Chain的感受——爽~!
问题:
我的目的是在mvc方法中使用对象取出不为空的字段,对表进行更新。
或者说类似Mybatis的if标签的功能
那么问题来了,有如下代码:
@At("/")
public Object userListPage(@Param("..") User user, @Param("..") Pager pager) {
dao.update(
User.class,
Chain.from(user, FieldMatcher.make(null, "id", true)),
Cnd.where("id", "=", user.getId())
);
return "执行到这";
}
在这段代码中,保留值给的null,
忽略 id 字段,因为这个不更新,只用作条件,
第三个参数,就是去掉没有赋值的字段属性。
我的提交地址:
/user?id=1&username="admin1"
运行结果是没有报错的,问题是Sql打印出来是这样的:
For example:> "UPDATE user SET username='"admin1"',locked=false WHERE id=1"
虽然说我的表中是有locked的这个字段,但是我没有在url中提交这个字段啊......!