最近有项目用到多数据源之间的SQL配置,要获取某个数据源的字段名称,网上查了下。好多都是要库里至少有一条数据才能拿到,自己摸索写了一下。MYSQL测试能正常获取,其他类型数据库待测试。
List<String> columns = new ArrayList<>();
ResultSetMetaData
resultSetMetaData=jdbcTemplate.getDataSource().getConnection()
.prepareStatement(sql).getMetaData();
for (int i = 0; i < resultSetMetaData.getColumnCount(); i++) {
columns.add(resultSetMetaData.getColumnName(i+1));
}