2011-01-24 39 views
2

我是Groovy的新手& Grails。我想提交解析CSV文件並導出到MySQL數據庫的幾個表中。 我看了一些編碼,但它作爲新手我很困惑。 所以任何人都可以幫助我理解簡單的csv文件解析並導出到MySQL數據庫。解析CSV並導出到Grails的Mysql數據庫中

感謝 鮮于

回答

11

Grails的運行,只要您的應用程序啓動引導過程。它的漂亮;您可以將其配置爲在不同的環境中執行不同的操作。

一種方法是做引導下列:

1)閱讀csv文件,創建域對象,當您去。
2)對於每個領域的對象,檢查它是否存在,如果不是,你doDomainObject.save()

多數民衆贊成它。

代碼,像

new File(filePath).splitEachLine(',') {fields -> 
    def domainObject = new YouDomainObject(
     id: fields[0].trim(), 
     name: fields[1].trim() 
    ) 

    if (domainObject.hasErrors() || domainObject.save(flush: true) == null) { 
     log.error("Could not import domainObject ${domainObject.errors}") 
    } 

    log.debug("Importing domainObject ${domainObject.toString()}") 
} 
0

由於Groovy的與Java集成,您還可以使用Java庫調用opencsv讀取CSV如果你更舒服。