Binding values (parameters)
Binding values is another fundamental topic of jOOQ.
The well-known prepared statements and bind values combination is the preferable approach to express SQL statements in JDBC. Among benefits, this combination provides protection against SQL injections, sustains caching (for instance, most connection pools cache prepared statements across connections or rely on JDBC driver caching capabilities as HikariCP does), and reusability capabilities (re-using execution plans for identical SQL statements, regardless of actual bind values).
Having security and performance packed into this combination makes it preferable against static statements (java.sql.Statement
) and inlined values, so jOOQ also embraces it as default.
Important Note
By default, jOOQ aligns its support for bind values to JDBC style. In other words, jOOQ relies on java.sql.PreparedStatement
and indexed bind values or indexed parameters. Moreover, exactly like JDBC, jOOQ uses a ?
(question...