在写groovy数据处理脚本时经常这么写,结果出现问题了,代码如下:
def list=["1","2"]
def ids=list.join(",")
def _sql="""
select * from table where id in (${ids})
"""
mysql.eachRow(_sql)
{
...
}
结果遇到问题了,这个输出的结果并不如预期,但也不会报错,究其原因是
_sql是一个groovy的GString,建议写法是
mysql.eachRow(_sql.toString()){
...
}
我有两次遇到这个问题了,大家遇到的时候可以提防。