我正在使用Spring的JdbcTemplate
,并执行以下查询:
SELECT COLNAME FROM TABLEA GROUP BY COLNAME
没有传递命名参数,但是列名COLNAME
将由用户传递。
问题
是否有一种方式可以使用占位符(例如
?
)来代替列名?例如SELECT ? FROM TABLEA GROUP BY ?
如果我想简单地运行以上查询并获取一个
List<String>
,最好的方法是什么?
目前我正在执行以下操作:
List<Map<String, Object>> data = getJdbcTemplate().queryForList(query);
for (Map m : data) {
System.out.println(m.get("COLNAME"));
}
getJdbcTemplate().query("SELECT ? FROM TABLEA GROUP BY ?", new RowMapper<String>(){ public String mapRow(ResultSet rs, int rowNum) throws SQLException { return rs.getString(1); } }, colName, colName);
- Jean