Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Analise CSV e exporte para o banco de dados Mysql no Grails


Grails um processo de bootstrap que é executado sempre que seu aplicativo é iniciado. É bacana; você pode configurá-lo para fazer coisas diferentes em ambientes diferentes.

Uma abordagem é fazer o seguinte no bootstrap:

1) Leia o arquivo csv, criando objetos de domínio à medida que avança.
2) Para cada objeto de domínio, verifique se ele existe e, se não, youDomainObject.save()

é isso.

para código, algo como
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()}")
}