将令牌插入字符串dynamicali Scala
我有一个数组[String]列表,我想将其转换为如下字符串列表:将令牌插入字符串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
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。为什么会这样?为什么会这样糟糕*?