У меня есть сценарий Jenkins Groovy, который выполняет запрос JDBC с целью вывода результата в файл CSV. Код работает нормально, если я могу предсказать запрос, я могу вручную создать файл CSV на основе известного числа столбцов.
Проблема возникает, когда запрос доступен в качестве параметра сборки. Я хочу написать код, который может обрабатывать любое количество столбцов, включая псевдонимы, если это необходимо.
Выход из этого кода;
sql.eachRow(query){ row ->
System.out.println row
}
есть;
[ID:12345, date:2019-11-01 11:23:45, name:bob]
[ID:23456, date:2019-11-10 33:22:11, name:jim]
И что мне нужно, это:
ID,date,name
12345,2019-11-01 11:23:45,bob
23456,2019-11-10 33:22:11,jim
И я хочусделать это без необходимости вставлять имена столбцов в коде. Если я это сделаю;
System.out.println row[0] + "," + row[1] + "," + row[2]
Получит данные в нужном формате. Но это не дает мне названия столбцов или даже количество столбцов. И я, вероятно, нарушаю всевозможные правила, рассматривая его как массив.
Думаю, я спрашиваю, как получить список методов в классе, но мне нужны только имена столбцов, а не все доступные методы.