可用版本: Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

绑定值和参数

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

出于各种原因,SQL / JDBC 中使用绑定值。其中最明显的原因包括

  • 防止 SQL 注入。您可以将可能源自用户输入的值绑定到您的预处理语句,而不是内联这些值,并让 JDBC 驱动程序/数据库负责处理安全方面的问题。
  • 提高速度。诸如 Oracle 之类的高级数据库可以在专用缓存中保留类似查询的执行计划,以防止一次又一次地硬解析您的查询。在许多情况下,绑定变量的实际值不会影响执行计划,因此可以重复使用。因此,准备语句会更快
  • 在 JDBC 级别,您还可以重用 SQL 字符串和预处理语句对象,而不是再次构造它,因为您可以将新值绑定到预处理语句。jOOQ 目前没有在内部缓存预处理语句。

以下各节将解释如何在 jOOQ 中引入绑定值,以及如何控制它们呈现和绑定到 SQL 的方式。

反馈

您对此页面有任何反馈吗? 我们很乐意听到!

The jOOQ Logo