我正在运行如下查询:
SELECT COLNAME FROM TABLEA GROUP BY COLNAME;
COLNAME
将由用户直接提供,因此我想避免在我的代码中进行sql注入。所以,我想知道是否可以编写我的查询:
SELECT ? FROM TABLEA GROUP BY ?;
另一种选择是将用户输入与表的所有列名匹配,但是,这种方法似乎是一种不好的方法。
答案 0 :(得分:0)
使用JdbcTemplate#queryForObject
答案 1 :(得分:0)
这不行。准备好的语句用于替换值而不是列名。你必须自己构建字符串。
答案 2 :(得分:0)
您不能将参数标记用于列名,表名,数据 输入名称,或基本上不是数据的任何内容。