hello trying rows using groovy sql connection returns me records list inside list. following:
sql sql = new sql(datasource) list<groovyrowresult> row = sql.rows('select * user username=:username , password=:password, [username:'groovy',password:'123']) returns result [[return record map]]
any 1 me figure out why result list inside list. how single level list using rows method?
your results coming list of maps, not list of lists. @ ':' , ',' chars in inner part. can use standard groovy extraction of values these.
in case, looks you're using primary key search, return 1 result, use firstrow in case, don't have extract single map result list.
see documentation groovy sql class examples.
in more general case returning multiple rows, data looks this:
[[username:"foo", password:"foopass"], [username:"bar", password:"barpass"]] assuming line:
def results = sql.rows('select * user') you can things spread operators:
assert results.username == ["foo", "bar"] assert results.password == ["foopass", "barpass"] or iterate on results
results.each { println it.username } ==> foo ==> bar or use of many collection functions
println results.collect { "${it.username} -> ${it.password}" } ==> [ "foo -> foopass", "bar -> barpass" ] i think main issue not recognising single map entry in list.
Comments
Post a Comment