Я попытался преобразовать SQL результат в CSV-файл это маршрут (bluprint.xml):Apache верблюд - SQL в CSV
<route id="extractfromafbl">
<from uri="timer:foo?period=10000"/>
<to uri="sql:select * from performances?dataSource=afbl_source"/>
<to uri="bean:ngtrend.afbl2afc.transformer?method=tocsv(Exchange)"/>
<log message="${body}"/>
</route>
Это трансформатор класса для создания формата CSV:
public class transformer {
public void tocsv(Exchange exchange)
{
StringBuilder csv = new StringBuilder();
List received = exchange.getIn().getBody(List.class);
for (int i = 0; i < received.size(); i++)
{
Map<String,Object> row = (Map<String,Object>) received.get(i);
csv.append(row.get("id"));
csv.append(",").append(row.get("lastname"));
csv.append(",").append(row.get("firstname"));
csv.append("\r");
}
}
}
В этом случае я должен знать имя полей (например, id, lastname ...), и вместо этого я хочу использовать индекс , потому что таблица или поля могут измениться.
Как использовать индекс вместо полей имени?
Что ваш вопрос? –
@Claus Как я могу использовать индекс вместо полей имени? если это невозможно, я могу конвертировать в csv? – zied123456