Interface LoaderXMLStep<R extends Record>
Loader API is used for configuring data loads.
The step in constructing the Loader object where you can set the
mandatory XML loader options.
The expected XML format is the one produced by Formattable.formatXML()
and consumed by DSLContext.fetchFromXML(String), e.g.
<result xmlns="http://www.jooq.org/xsd/jooq-export-3.10.0.xsd">
<fields>
<field name="ID" type="INTEGER"/>
<field name="TITLE" type="VARCHAR"/>
</fields>
<records>
<record>
<value field="ID">1</value>
<value field="TITLE">1984</value>
</record>
</records>
</result>
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 LoaderXMLOptionsStep<R> fields(Collection<? extends Field<?>> fields) Specify the fields to be loaded into the table in the correct order.@NotNull LoaderXMLOptionsStep<R> Specify the fields to be loaded into the table in the correct order.@NotNull LoaderXMLOptionsStep<R> fields(LoaderFieldMapper mapper) Specify a function to apply on each input field to receive the target table's field.@NotNull LoaderXMLOptionsStep<R> Indicate that all input fields which have a corresponding field in the target table (with the same name) should be loaded.
-
Method Details
-
fields
Specify the fields to be loaded into the table in the correct order.The XML column at index
iis inserted into the table field at indexi. Iffields[i] == nullorfields.length <= i, then the XML column is skipped. -
fields
@NotNull @CheckReturnValue @Support @NotNull LoaderXMLOptionsStep<R> fields(Collection<? extends Field<?>> fields) Specify the fields to be loaded into the table in the correct order.The XML column at index
iis inserted into the table field at indexi. Ifnew ArrayList(fields).get(i) == nullornew ArrayList(fields).size() <= i, then the XML column is skipped. -
fields
@NotNull @CheckReturnValue @Support @NotNull LoaderXMLOptionsStep<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 XML column name as declared in the<fields/>element. TheLoaderFieldMapper.LoaderFieldContext.index()property corresponds to the XML column index in declaration order. -
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.
-