将令牌插入字符串dynamicali Scala

将令牌插入字符串dynamicali Scala,scala,Scala,我有一个数组[String]列表,我想将其转换为如下字符串列表: val sqlMap = mapList.map({case x => "INSERT INTO bddMedic VALUES ('"+x(0)+"','"+x(1)+"','"+x(2)+"','"+x(3)+"','"+x(4)+"','"+x(5)+"');"}) 所以我可以生成我的SQL请求。 我的问题是我硬编码数组中的元素数,但问题是有时候数组中有6或7个元素 我想要的是一个能给我字符串的代码 “插入bddMe

我有一个数组[String]列表,我想将其转换为如下字符串列表:

val sqlMap = mapList.map({case x => "INSERT INTO bddMedic VALUES ('"+x(0)+"','"+x(1)+"','"+x(2)+"','"+x(3)+"','"+x(4)+"','"+x(5)+"');"})
所以我可以生成我的SQL请求。 我的问题是我硬编码数组中的元素数,但问题是有时候数组中有6或7个元素

我想要的是一个能给我字符串的代码

“插入bddMedic值(““+x(0)+”、“+x(1)+”、“+x(2)+”、“+x(3)+”、“+x(4)+”、“+x(5)+”)

(将x(0)替换为值) 但不必指定x(0)x(1)x(2)。 我真的不知道怎么做,每次尝试都是失败的。

尝试使用mkString:

scala> val x = Array(1,2,3,4,5)
x: Array[Int] = Array(1, 2, 3, 4, 5)

scala> x.mkString(",")
res2: String = 1,2,3,4,5
尝试使用mkString:

scala> val x = Array(1,2,3,4,5)
x: Array[Int] = Array(1, 2, 3, 4, 5)

scala> x.mkString(",")
res2: String = 1,2,3,4,5

是的,我刚刚发现x.mkString可以完成这项工作。如果字符串数组不是来自可信源(即查询字符串),则很危险,因为它容易受到sql注入的攻击。我建议改为使用准备好的语句。是的,我刚刚发现x.mkString可以完成这项工作。如果字符串数组不是来自可信源(即查询字符串),则很危险,因为它容易受到sql注入的攻击。我建议改为使用准备好的语句。我建议使用SQL层,例如or或Yes。真的,真的,不要这样构建SQL。为什么这样?为什么这样不好*?我建议使用SQL层,比如or Yes。真的,真的,不要像这样构建SQL。为什么会这样?为什么会这样糟糕*?