【问题标题】:When do we go for Statement or PreparedStatement? [duplicate]我们什么时候使用 Statement 或 PreparedStatement? [复制]
【发布时间】:2011-08-01 06:38:26
【问题描述】:

可能重复:
Difference between Statement and PreparedStatement

我们什么时候选择 Statement 或 PreparedStatement?

【问题讨论】:

    标签: java jdbc


    【解决方案1】:

    PreparedStatement

    • 如果您需要传递用户提供的数据(以避免 SQL 注入)。

    • 如果你经常运行相同的固定语句,例如如果你需要每隔几秒运行一次select * from stackoverflow_questions order by created desc limit 10 :-) - 原因是:准备好的语句只解析一次,而语句是(至少在大多数数据库中)每次都解析。

    声明

    • 对于不经常出现的语句,例如create table...(DDL 语句)。

    【讨论】:

      【解决方案2】:

      statment 和preparedStatement,当您需要使用SQL 提供参数或从数据库中获取参数时,都可以使用它们。两种方法都是一样的,但是preparedStatmnet会帮助你避免sql注入。

      【讨论】:

        【解决方案3】:

        只有在查询中没有用户输入参数的情况下才能使用语句。否则,请使用 PreparedStatement,因为它提供了避免 sql 注入的机制。 Wiki 是 good 描述它的机制。

        【讨论】:

        【解决方案4】:

        当您想将参数中的参数提供给您的 SQL 语句时(即您的 SQL 不是固定字符串)。

        【讨论】:

          猜你喜欢
          • 2011-01-07
          • 2017-06-28
          • 1970-01-01
          • 2014-08-31
          • 2013-08-08
          • 2019-01-08
          • 2012-02-15
          • 1970-01-01
          • 2019-11-15
          相关资源
          最近更新 更多