我在java程序中动态生成sql select查询并执行如下:
SqlRowSet result = this.mySimpleJdbcTemplate.
getJdbcOperations().queryForRowSet(dynamicQuery);
由于查询是动态的,我不知道结果行中返回的各种列的类型。
我在下面的循环中解析结果以写入外部文件:
if (result != null) {
while (result.next()) {
// code to write to external file
}
}
我应该把这里的结果行写到外部文件中。另外,有没有一种方法可以在写入文件之前分隔数据。例如用'|'
答案 0 :(得分:1)
我认为你应该使用元数据
result.getMetaData();
这将允许您获取列名,不。列他们的类型等然后你可以迭代这些列并使用java.io在文件中写入数据。*
SqlRowSetMetaData sqlRowSetMetaData = result.getMetaData();
String[] columnNames = sqlRowSetMetaData.getColumnNames();
foreach(String columnName : columnNames){
result.getXXX(columnName);
}
以及将数据写入文件的剩余代码