我正在使用SQL对象API来处理我的数据库中的数据并遇到了一个恼人的问题:
当用户使用我的前端时,他们可以输入值等并从下拉菜单等中选择,然后单击“应用”以保存对数据库的所有更改,问题是我从未真正知道WHICH列将被更改在每次写作的表格内。
对表进行更新的代码(根据互联网)如下:
@SqlUpdate("UPDATE users SET col1=val1, col2=val2 WHERE Id= :Id")
void updateStream(@BindBean User user);
但由于我永远不知道哪些字段会更新,我当然不能包含列名?
非常感谢,谢谢。
答案 0 :(得分:0)
AFAIK jdbi并不灵活。它有@Define
feature但我不认为它可以解决您的问题,因为参数数量可能会有所不同。
常见的方法是更新所有字段。由于客户端向您发送包括未更改字段在内的整个User对象,因此只会影响相关列。