2016-07-15 71 views
0

我想連接到Oracle數據庫表並拉數據和形式的逗號分隔值的形式的結果。我寫了一個示例代碼,它工作正常,但如果查詢與更多表(連接)相關聯,則希望有更好的方法,然後花費更多時間獲取輸出。有沒有更好的方法來提高性能。Groovy更好的方法來創建逗號分隔的字符串從數據庫選擇查詢

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 
    }   
} 

回答

0

您可以選擇empid || ','|| empname爲FROM的NewValue員工 在您的查詢,那麼對你的SQL工作有點

+0

我已經試過這樣的,我得到的結果作爲數組。我正在使用join方法將數組轉換爲字符串,這需要花費更多時間。目前,我不會將此輸出寫入任何文件。我期待着一個更好的方法來說明如何在Groovy中實現這一點。 –

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(); 
相關問題