我正在为我在 Scala 中的类编写一些数据库查询辅助方法。
此select
方法旨在从 Product 表中提取某些列,指定为所需列的逗号分隔列表(字符串)。
我希望能够这样称呼它:Product.select("id, title")
以下代码不起作用:
def select(columns: String) = { DB.readOnly{ implicit session =>
sql"select ${columns} from $sqlTable limit 1000".map(row => Product(row)).list.apply()
}}
但是此代码(仅用于说明目的)确实
def select(columns: String) = { DB.readOnly{ implicit session =>
var x = sqls"id, title, description, available_online"
sql"select ${x} from $sqlTable limit 1000".map(row => Product(row)).list.apply()
}}
现在,显然我不想将列硬编码到方法中,但我想用columns
参数字符串来做到这一点(我希望你能明白我的意思)。如何sqls
在列字符串上应用插值器?
会是这样的var x = sqls(columns)
在这里您可以找到有关sqls
和sql
插值器的更多信息
如果您需要更多信息,请发表评论,非常感谢您的反馈。