Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails/Groovy-在映射中返回MySQL记录只保留最后一条记录_Mysql_Grails_Groovy - Fatal编程技术网

Grails/Groovy-在映射中返回MySQL记录只保留最后一条记录

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 -

我试图遍历表数据并将表记录保存到Groovy映射中,但映射中只保存最后一条记录

服务代码

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()。不需要像这样循环每个结果。