对 Groovy 有点陌生,我正在创建一段代码,它使用动态 sql 字符串执行 sql 查询。
def executeQuery(String csvQueryInList) {
def result = sql.rows('SELECT * FROM mySchema.myTable WHERE id IN (?,?)', ['1', '2'])
return result
}
以上工作,但现在我想更改此代码以使用参数 csvQueryInList,它是一个 CSV 字符串。
像这样的东西......
def sqlStr = 'SELECT * FROM mySchema.myTable WHERE id IN ('
def executeQuery(String queryInList) {
def values = queryInList.tokenize(", ")
values.eachWithIndex { item, index ->
sqlStr << '?,'
}
sqlStr << ')'
println "Executing generated query: $sqlStr"
def result = sql.rows(sqlStr, values)
return result
}
但这并不完全奏效。
有人可以帮我纠正我的错误或提出更好的方法。
谢谢