【发布时间】:2013-12-30 16:14:45
【问题描述】:
来自一个时髦的新手的问题:
sql初始化如下
final Binding binding = new Binding();
binding.setProperty("sql", sql);
final groovy.sql.Sql sql = Sql.newInstance(dbConfig.getUrl(), dbConfig.getUserName(), dbConfig.getPasswd(),"oracle.jdbc.OracleDriver");
我正在像这样在 groovy 中运行查询
def listOfRows = sql.rows (select column1 from table1);
listOfRows 打印时显示类似[[column1_name:value1], [column1_name:value2], [column1_name:value3]]的内容
我想检查上述查询返回的值列表中是否存在value2(字符串)。
我试过listOfRows.contains('value2')和listOfRows.find('value2'),
它抱怨列表不存在该方法..
最好的方法是什么?
已编辑:我已更正打印值列表。返回的是List<GroovyResultSet>
而且我还添加了sql的定义。
【问题讨论】:
-
你对
sql的定义是什么? -
listOfRows 实际上包含什么?不能是
[column1_name:value1, column1_name:value2, column1_name:value3] -
我第二个@tim_yates,
[column1_name:value1, column1_name:value2, column1_name:value3]甚至不是地图,因为keys是相同的。您是否获得了带有 column1、column2 等键的映射列表? -
我已更正,返回的是 list
更正 - listOfRows 打印时显示的内容如 [[column1_name:value1]、[column1_name:value2]、[column1_name:value3]]