绑定值和参数
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
出于各种原因,SQL / JDBC 中使用绑定值。其中最明显的原因包括
- 防止 SQL 注入。您可以将可能源自用户输入的值绑定到您的预处理语句,而不是内联这些值,并让 JDBC 驱动程序/数据库负责处理安全方面的问题。
- 提高速度。诸如 Oracle 之类的高级数据库可以在专用缓存中保留类似查询的执行计划,以防止一次又一次地硬解析您的查询。在许多情况下,绑定变量的实际值不会影响执行计划,因此可以重复使用。因此,准备语句会更快
- 在 JDBC 级别,您还可以重用 SQL 字符串和预处理语句对象,而不是再次构造它,因为您可以将新值绑定到预处理语句。jOOQ 目前没有在内部缓存预处理语句。
以下各节将解释如何在 jOOQ 中引入绑定值,以及如何控制它们呈现和绑定到 SQL 的方式。
反馈
您对此页面有任何反馈吗? 我们很乐意听到!