【问题标题】:Is there a way to use NamedParameters before WHERE clause in jdbctemplate有没有办法在 jdbctemplate 中的 WHERE 子句之前使用 NamedParameters
【发布时间】:2012-11-13 04:07:25
【问题描述】:

我正在运行如下查询:

SELECT COLNAME FROM TABLEA GROUP BY COLNAME;

COLNAME 有时会由用户直接提供,因此我想避免代码中的 sql 注入。所以,我想知道是否可以这样写我的查询:

SELECT ? FROM TABLEA GROUP BY ?;

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

【问题讨论】:

    标签: java jdbc jdbctemplate spring-jdbc


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      The reply is available here..

      【讨论】:

        【解决方案3】:

        使用JdbcTemplate#queryForObject

        I found some examples

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-08
          • 2012-03-04
          • 2023-03-26
          • 1970-01-01
          • 2020-07-05
          相关资源
          最近更新 更多