我有一个带有两个参数的函数,它接受字符串和列表。我现在需要将第三个String参数传递给此函数,该函数默认为空字符串。继承我的职责: 以下是我调用函数的方法:
rows("{CALL " + storedProc + "(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}",param1,param2,param3)
这是函数
List<GroovyRowResult> rows(String query,java.lang.Object[] parameterMap){
......
}
现在,在上面的函数中,输入参数如下:
query = {CALL reportStoredProc(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
parameterMap = [param1,param2,param3]
当我在函数中放置一个thrid默认参数时:
List<GroovyRowResult> rows(String query,java.lang.Object[] parameterMap, String test=''){
......
}
如果我通过&#34;你好&#34;作为测试,测试中的字符串被视为列表中的elemtn。那么,现在参数将是:
query = {CALL reportStoredProc(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
parameterMap = [param1,param2,param3,Hello]
test = ''
是否有一个解决方法来传递第三个参数而不将其添加到列表中?这可能是一个愚蠢的问题,但我现在已经坚持了一段时间。
注意:要调用存储过程,我被迫使用行而不是调用或执行。另外,我不能在调用函数时使用[]传递parameterMap。 此外,测试必须是第三个参数
谢谢,