grails - 将 groovy sql 的 sql.eachRow() 存储到列表中

标签 grails groovy

你知道如何存储结果吗

    sql.eachRow()

groovy sql 到一个列表?例如 def personList = [] ?

示例:

    sql.eachRow('select lastname from users where id='active')

我想要的是存储结果,即。姓氏列表即 def personlist = []; 我知道我可以通过namedQuery轻松做到这一点,而且我已经做到了。但这是有一些根本原因的。提前致谢。

最佳答案

def reqdColName = "lastname"
def query = "select $reqdColName from users where id='active'"

直接选项是使用 rows () 方法。

def list= Sql.rows(query) //returns groovyrowresult as list
<小时/>

另一个选择是您可以使用 executeQuery相反,获取查询的结果集,从而获取其上的数组/列表。

def array = Sql.executeQuery(query).getArray(reqdColName)

//If you need as a list
def personList = Arrays.asList(array) 

关于grails - 将 groovy sql 的 sql.eachRow() 存储到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11928158/

相关文章:

grails - 从插件_install.groovy脚本中获取Grails版本

groovy - 使用 groovy 从我的项目结构中加载测试资源

常规分割异常 java.lang.ArrayIndexOutOfBoundsException : 1

grails - Groovy,Grails链关闭的问题

eclipse - 如何使用 Eclipse 调试 SOAP UI 脚本

grails - 缺少方法异常

javascript - 在单个下拉列表中填充来自两个不同列的值

grails - 如何在 grails 3 中将 gson View 呈现为字符串?

grails - 从 S3 将 MP4 视频文件从 Grails Controller 流式传输到 video.js 播放器

sorting - 如何基于属性值对对象列表进行排序