使用Groovy Strings作为SQL select语句

时间:2014-02-05 12:08:05

标签: mysql groovy

Database Mysql,版本5.5.17.JDBC驱动程序版本5.1.28 代码与Gstring:

def p = "id"

def row = sql.firstRow("select $p from Model")

print row

结果:

[id:id] **!**

没有Gstring的代码:

def row = sql.firstRow("select id from Model")

print row

结果:

[id:1]

为什么?

1 个答案:

答案 0 :(得分:2)

Groovy正在转义p,因为它将其视为Sql参数

尝试使用Sql.expand,如下所示:

def p = 'id'
def row = sql.firstRow( "select ${Sql.expand( p )} from Model" )