有没有办法在jdbctemplate中的WHERE子句之前使用NamedParameters

时间:2012-11-13 04:07:25

标签: java jdbc jdbctemplate spring-jdbc

我正在运行如下查询:

SELECT COLNAME FROM TABLEA GROUP BY COLNAME;

COLNAME将由用户直接提供,因此我想避免在我的代码中进行sql注入。所以,我想知道是否可以编写我的查询:

SELECT ? FROM TABLEA GROUP BY ?;

另一种选择是将用户输入与表的所有列名匹配,但是,这种方法似乎是一种不好的方法。

3 个答案:

答案 0 :(得分:0)

使用JdbcTemplate#queryForObject

I found some examples

答案 1 :(得分:0)

这不行。准备好的语句用于替换值而不是列名。你必须自己构建字符串。

答案 2 :(得分:0)

  

您不能将参数标记用于列名,表名,数据   输入名称,或基本上不是数据的任何内容。

The reply is available here..