- All Superinterfaces:
- Field<T>,- FieldOrConstraint,- FieldOrRow,- GroupField,- Named,- OrderField<T>,- ParamOrVariable<T>,- QueryPart,- SelectField<T>,- SelectFieldOrAsterisk,- Serializable,- Typed<T>
 A lot of jOOQ API accepts user input values, such as for example when
 creating a Condition using Field.eq(Object), where a column
 expression is being compared with a value.
 
 Behind the scenes, jOOQ wraps the value in a bind value expression using
 DSL.val(Object). The generated SQL of such an expression depends on
 things like Settings.getStatementType() or ParamType being
 passed to configurations or AttachableQueryPart.getSQL(ParamType) calls, etc. By
 default, a parameter marker ? is generated.
 
 Users can create parameters explicitly using DSL API, which is useful
 in a few cases where the value cannot be passed to jOOQ directly, e.g.
 
- When the value is at the left hand side of an operator
- When Fieldreferences andParamvalues are mixed
Example:
 
 // Assuming import static org.jooq.impl.DSL.*;
 // The bind value is the first operand of an expression, in case of which it
 // needs to be wrapped in a Param explicitly
 using(configuration)
    .select()
    .from(RENTALS)
    .where(val(LocalDateTime.now()).between(RENTALS.RENTAL_DATE).and(RENTALS.DUE_DATE))
    .fetch();
 // The bind value is mixed with other types of Field expressions in a statement
 using(configuration)
    .insertInto(ACTOR)
    .columns(ACTOR.FIRST_NAME, ACTOR.LAST_NAME, ACTOR.LAST_UPDATE)
    .values(val("John"), val("Doe"), currentTimestamp())
    .execute();
 
 Instances can be created using DSL.param(String, Object),
 DSL.val(Object), DSL.inline(Object) and respective overloads.
- Author:
- Lukas Eder
- See Also:
- DSL.param(String, Object)
- 
Method SummaryModifier and TypeMethodDescription@NotNull ParamModeThe parameter mode.@Nullable StringThe parameter name.@NotNull ParamTypeThe parameter type.getValue()Get the parameter's underlying value.booleanisInline()A flag on the bind value to force it to be inlined in rendered SQLvoidsetConverted(Object value)Deprecated, for removal: This API element is subject to removal in a future version.voidsetInline(boolean inline)Deprecated, for removal: This API element is subject to removal in a future version.- 3.8.0 - [#4991] In jOOQ 4.0,Paramwill be made immutable.voidDeprecated, for removal: This API element is subject to removal in a future version.- 3.8.0 - [#4991] In jOOQ 4.0,Paramwill be made immutable.Methods inherited from interface org.jooq.Fieldabs, acos, add, add, as, asc, ascii, asin, atan, atan2, atan2, avg, avgOver, between, between, between, between, betweenSymmetric, betweenSymmetric, betweenSymmetric, betweenSymmetric, bitAnd, bitAnd, bitLength, bitNand, bitNand, bitNor, bitNor, bitNot, bitOr, bitOr, bitXNor, bitXNor, bitXor, bitXor, cast, cast, cast, ceil, changed, charLength, coalesce, coalesce, coerce, coerce, coerce, collate, collate, collate, compare, compare, compare, compare, concat, concat, concat, contains, contains, containsIgnoreCase, containsIgnoreCase, convert, convert, convert, convertFrom, convertFrom, convertTo, convertTo, cos, cosh, cot, coth, count, countDistinct, countOver, decode, decode, decode, decode, deg, desc, div, div, divide, divide, endsWith, endsWith, endsWithIgnoreCase, endsWithIgnoreCase, eq, eq, eq, eq, equal, equal, equal, equal, equalIgnoreCase, equalIgnoreCase, equals, exp, extract, field, firstValue, floor, from, ge, ge, ge, ge, get, getComment, getName, getValue, greaterOrEqual, greaterOrEqual, greaterOrEqual, greaterOrEqual, greaterThan, greaterThan, greaterThan, greaterThan, greatest, greatest, gt, gt, gt, gt, in, in, in, in, in, isDistinctFrom, isDistinctFrom, isDistinctFrom, isDocument, isFalse, isJson, isNotDistinctFrom, isNotDistinctFrom, isNotDistinctFrom, isNotDocument, isNotJson, isNotNull, isNull, isTrue, lag, lag, lag, lag, lastValue, le, le, le, le, lead, lead, lead, lead, least, least, length, lessOrEqual, lessOrEqual, lessOrEqual, lessOrEqual, lessThan, lessThan, lessThan, lessThan, like, like, like, like, like, likeIgnoreCase, likeIgnoreCase, likeIgnoreCase, likeIgnoreCase, likeRegex, likeRegex, ln, log, lower, lpad, lpad, lpad, lpad, lt, lt, lt, lt, ltrim, max, maxOver, median, min, minOver, minus, minus, mod, mod, modulo, modulo, mul, mul, multiply, multiply, ne, ne, ne, ne, neg, notBetween, notBetween, notBetween, notBetween, notBetweenSymmetric, notBetweenSymmetric, notBetweenSymmetric, notBetweenSymmetric, notContains, notContains, notContainsIgnoreCase, notContainsIgnoreCase, notEqual, notEqual, notEqual, notEqual, notEqualIgnoreCase, notEqualIgnoreCase, notIn, notIn, notIn, notIn, notIn, notLike, notLike, notLike, notLike, notLike, notLikeIgnoreCase, notLikeIgnoreCase, notLikeIgnoreCase, notLikeIgnoreCase, notLikeRegex, notLikeRegex, notSimilarTo, notSimilarTo, notSimilarTo, notSimilarTo, nullif, nullif, nvl, nvl, nvl2, nvl2, octetLength, original, plus, plus, plus, position, position, pow, pow, power, power, rad, rem, rem, repeat, repeat, replace, replace, replace, replace, reset, round, round, rpad, rpad, rpad, rpad, rtrim, shl, shl, shr, shr, sign, similarTo, similarTo, similarTo, similarTo, sin, sinh, sort, sort, sortAsc, sortAsc, sortDefault, sortDesc, sortDesc, sqrt, startsWith, startsWith, startsWithIgnoreCase, startsWithIgnoreCase, stddevPop, stddevPopOver, stddevSamp, stddevSampOver, sub, sub, substring, substring, substring, substring, subtract, subtract, sum, sumOver, tan, tanh, times, times, trim, unaryMinus, unaryPlus, upper, varPop, varPopOver, varSamp, varSampOverMethods inherited from interface org.jooq.NamedgetCommentPart, getQualifiedName, getUnqualifiedNameMethods inherited from interface org.jooq.SelectFieldas, as, asMethods inherited from interface org.jooq.TypedgetBinding, getConverter, getDataType, getDataType, getType
- 
Method Details- 
getParamNameThe parameter name. This name is useful for two things:- Named parameters in frameworks that support them, such as Spring's
 JdbcTemplate
- Accessing the parameter from the QueryAPI, withAttachableQueryPart.getParam(String),AttachableQueryPart.getParams()
 
- Named parameters in frameworks that support them, such as Spring's
 
- 
getValueGet the parameter's underlying value. This returnsnullif no value has been set yet.
- 
setValueDeprecated, for removal: This API element is subject to removal in a future version.Set the parameter's underlying value. This is the same assetConverted(Object), but ensures generic type-safety.- See Also:
- setConverted(Object)
 
- 
setConvertedDeprecated, for removal: This API element is subject to removal in a future version.- Throws:
- DataTypeException- If- valuecannot be converted into this parameter's data type.
 
- 
setInlineDeprecated, for removal: This API element is subject to removal in a future version.A flag on the bind value to force it to be inlined in rendered SQL
- 
isInlineboolean isInline()A flag on the bind value to force it to be inlined in rendered SQL
- 
getParamTypeThe parameter type.
- 
getParamModeThe parameter mode.
 
- 
Paramwill be made immutable.