Bla*_*ird 0 collections scala scala-collections
我想where从Scala集合生成动态SQL 子句,例如Map
例如,有了一个Map("firstName" -> "Chuck", "lastName" -> "Norris")对象,我想生成以下子句:
where firstName = 'Chuck'
and lastName = 'Norris'
Run Code Online (Sandbox Code Playgroud)
基本上,对于集合中的第一个元素,在where关键字前面,对于后续元素,在前面加上and.
我真的很难在Scala中做这个算法,所以我在寻求你的帮助.也许Map这个任务不是正确的集合?
可能的解决方案是:
myMap.map {case (k, v) => """%s = '%s'""".format(k, v)}
.mkString("where ", "\nand ", "")
Run Code Online (Sandbox Code Playgroud)
该map函数用格式转换键/值进入key = 'value',并mkString构建where子句.