Я пытаюсь написать небольшой groovy скрипт, который считывает данные из файла CSV, оценивает данные и записывает данные в SQL БД.
Некоторые из прочитанных данных из Строка CSV может быть пустой - в этом случае вставка должна передать NULL в базу данных. Из соображений производительности и безопасности я создаю один sqlQuery перед итерацией eachWithIndex и заполняю параметры внутри итерации.
def sqlQuery="""INSERT INTO database (
[Id],
[document],
[extension],
[token]
) VALUES (?, ?, ?, NULL)"""
jobList.eachWithIndex{ it, i ->
eIDenter = it[0]
eDoc = it[1]
eExt = it[2]
sqlParams = [eID, eDoc, eExt]
...
}
Хотя я могу просто передавать значения NULL в столбцы в итерации, которые всегда пусты (поскольку их нет в файле csv), я не уверен, как это работает для параметров связывания в groovy. Переменная «eExt» может быть заполнена или иметь нулевое значение, если данные не существуют в CSV-файле.
Как я могу убедиться, что явный параметр связывания доставляет NULL в базу данных, когда он пуст?