Grails/Groovy-在映射中返回MySQL记录只保留最后一条记录
我试图遍历表数据并将表记录保存到Groovy映射中,但映射中只保存最后一条记录 服务代码Grails/Groovy-在映射中返回MySQL记录只保留最后一条记录,mysql,grails,groovy,Mysql,Grails,Groovy,我试图遍历表数据并将表记录保存到Groovy映射中,但映射中只保存最后一条记录 服务代码 class EmployeeService { def dataSource def printTable(){ def sql = new Sql(dataSource) def tableMap = [:] int count=0 sql.eachRow("SELECT * FROM employee") { row -
class EmployeeService {
def dataSource
def printTable(){
def sql = new Sql(dataSource)
def tableMap = [:]
int count=0
sql.eachRow("SELECT * FROM employee") { row ->
tableMap.'first_name' = row.first_name
tableMap.'last_name' = row.last_name
tableMap.'born' = row.born
print "\nIteration No " + count
count++
}
sql.close()
for ( e in tableMap ) {print "key = ${e.key}, value = ${e.value}"}
}
下表员工记录:
这是完成迭代后地图的内容:
试试这个
def list = []
int count = 0
sql.eachRow("SELECT * FROM employee") { row ->
def tableMap = [:]
tableMap.'first_name' = row.first_name
tableMap.'last_name' = row.last_name
tableMap.'born' = row.born
list << tableMap
print "\nIteration No " + count
count++
}
list.each {
for (def e in it) {
print "key = ${e.key}, value = ${e.value}"
}
}
def list=[]
整数计数=0
sql.eachRow(“从员工中选择*){row->
def tableMap=[:]
tableMap.“first\u name”=行。first\u name
tableMap.“last\u name”=行。last\u name
tableMap.born'=行.born
列表试试这个
def list = []
int count = 0
sql.eachRow("SELECT * FROM employee") { row ->
def tableMap = [:]
tableMap.'first_name' = row.first_name
tableMap.'last_name' = row.last_name
tableMap.'born' = row.born
list << tableMap
print "\nIteration No " + count
count++
}
list.each {
for (def e in it) {
print "key = ${e.key}, value = ${e.value}"
}
}
def list=[]
整数计数=0
sql.eachRow(“从员工中选择*){row->
def tableMap=[:]
tableMap.“first\u name”=行。first\u name
tableMap.“last\u name”=行。last\u name
tableMap.born'=行.born
列出或只使用返回GroovyResultSet的sql.rows()。不需要像这样循环每个结果。或者只使用返回GroovyResultSet的sql.rows()。不需要像这样循环每个结果。