【发布时间】:2015-04-20 14:12:49
【问题描述】:
我的 Google-fu 让我失望了,所以我希望你能帮忙
我正在构建一些 web 服务是使用 scala 和 anorm 进行数据库访问的播放框架
我的一个电话是更新数据库中的现有行 - 即运行类似的查询
UPDATE [Clerks]
SET [firstName] = {firstName}
,[lastName] = {lastName}
,[login] = {login}
,[password] = {password}
WHERE [id] = {id}
我的方法接收一个职员对象,但所有参数都是可选的(当然除了 id),因为他们可能只希望像这样更新行的单个列
UPDATE [Clerks]
SET [firstName] = {firstName}
WHERE [id] = {id}
所以我希望该方法检查定义了哪些职员参数并相应地构建更新语句的“SET”部分
似乎应该有更好的方法,而不是遍历 clerk 对象的每个参数,检查它是否已定义并构建查询字符串 - 但到目前为止我一直无法找到有关该主题的任何内容。
有没有人对如何最好地处理有任何建议
【问题讨论】:
-
我不确定是否有,因为对于批量更新/插入,人们往往还会构建查询字符串..
-
您可以根据可用值动态准备SQL语句的字符串,将该语句传递给
SQL(...),然后传递参数。看文档。
标签: scala playframework anorm