Loader
API is used for configuring data loads.
The step in constructing the Loader
object where you can set the
mandatory CSV loader options.
Referencing XYZ*Step
types directly from client code
It is usually not recommended to reference any XYZ*Step
types
directly from client code, or assign them to local variables. When writing
dynamic SQL, creating a statement's components dynamically, and passing them
to the DSL API statically is usually a better choice. See the manual's
section about dynamic SQL for details: https://www.jooq.org/doc/latest/manual/sql-building/dynamic-sql.
Drawbacks of referencing the XYZ*Step
types directly:
- They're operating on mutable implementations (as of jOOQ 3.x)
- They're less composable and not easy to get right when dynamic SQL gets complex
- They're less readable
- They might have binary incompatible changes between minor releases
- Author:
- Lukas Eder
-
Method Summary
Modifier and TypeMethodDescription@NotNull LoaderCSVOptionsStep<R>
fields(Collection<? extends Field<?>> fields)
Specify the the fields to be loaded into the table in the correct order.@NotNull LoaderCSVOptionsStep<R>
Specify the the fields to be loaded into the table in the correct order.@NotNull LoaderCSVOptionsStep<R>
fields(LoaderFieldMapper mapper)
Specify a function to apply on each input field to receive the target table's field.@NotNull LoaderCSVOptionsStep<R>
Indicate that all input fields which have a corresponding field in the target table (with the same name) should be loaded.@NotNull LoaderCSVOptionsStep<R>
Deprecated, for removal: This API element is subject to removal in a future version.
-
Method Details
-
fields
Specify the the fields to be loaded into the table in the correct order.The CSV column at index
i
is inserted into the table field at indexi
. Iffields[i] == null
orfields.length <= i
, then the CSV column is skipped. -
fields
@NotNull @CheckReturnValue @Support @NotNull LoaderCSVOptionsStep<R> fields(Collection<? extends Field<?>> fields)Specify the the fields to be loaded into the table in the correct order.The CSV column at index
i
is inserted into the table field at indexi
. Ifnew ArrayList(fields).get(i) == null
ornew ArrayList(fields).size() <= i
, then the CSV column is skipped. -
fields
@NotNull @CheckReturnValue @Support @NotNull LoaderCSVOptionsStep<R> fields(LoaderFieldMapper mapper)Specify a function to apply on each input field to receive the target table's field.The input field obtained from
LoaderFieldMapper.LoaderFieldContext.field()
wraps the CSV header column name if any, or an unspecified field enumeration is used. TheLoaderFieldMapper.LoaderFieldContext.index()
property corresponds to the CSV column index. -
fieldsFromSource
@Deprecated(forRemoval=true, since="3.14") @NotNull @CheckReturnValue @Support @NotNull LoaderCSVOptionsStep<R> fieldsFromSource()Deprecated, for removal: This API element is subject to removal in a future version.- 3.14.0 - [#10010] - UsefieldsCorresponding()
instead.Indicate that all input fields which have a corresponding field in the target table (with the same name) should be loaded.- Throws:
LoaderConfigurationException
- When the source data does not expose field names.
-
fieldsCorresponding
Indicate that all input fields which have a corresponding field in the target table (with the same name) should be loaded.- Throws:
LoaderConfigurationException
- When the source data does not expose field names.
-
fieldsCorresponding()
instead.