sql >> Base de Datos >  >> RDS >> Mysql

Analizar CSV y exportar a la base de datos Mysql en Grails

Grails un proceso de arranque que se ejecuta cada vez que se inicia su aplicación. Es ingenioso; puede configurarlo para hacer diferentes cosas en diferentes entornos.

Un enfoque es hacer lo siguiente en bootstrap:

1) Lea el archivo csv, creando objetos de Dominio a medida que avanza.
2) Para cada objeto de dominio, verifique si existe, y si no, haga youDomainObject.save()

eso es todo.

para el 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()}")
}