Groovy Better从数据库选择查询创建逗号分隔字符串的方法

时间:2016-07-15 14:42:05

标签: sql string oracle groovy

我正在尝试连接到oracle数据库表并提取数据并以逗号分隔值的形式形成结果。我编写了一个示例代码,该代码工作正常,但如果查询与更多表(联接)相关联,则希望有更好的方法,那么需要时间来获得更多的输出。有没有更好的方法来改善表现。

import groovy.sql.Sql;
import java.sql.ResultSet;

def temp="";
def temp1="";
sql = Sql.newInstance("jdbc:oracle:thin:@localhost:1521:XE","username", "password", "oracle.jdbc.driver.OracleDriver")
sql.eachRow("select empid, empname FROM employee") {
    temp1=it.toRowResult().values().join(", ")
    if(temp=="") {
        temp=temp1;
    }else{
        temp=temp+"\n"+temp1
    }          
}

2 个答案:

答案 0 :(得分:1)

 CSVWriter writer = new CSVWriter(new FileWriter("yourfile.csv"), ',');
 Boolean includeHeaders = true;

 java.sql.ResultSet myResultSet = .... //your resultset logic here

 writer.writeAll(myResultSet, includeHeaders);

 writer.close();

答案 1 :(得分:0)

您可以选择empid || ',' || empname为NewValue FROM employee 在你的查询中,然后SQL为你工作了一点