The <context> Element
The <context> element is used to specify the environment for generating a set of objects. Child elements are used to specify the database to connect to, the type of objects to generate, and the tables to introspect. Multiple <context> elements can be listed inside an <generatorConfiguration> element to allow generating objects from different databases, or with different generation parameters, in the same run of MyBatis Generator (MBG).
Required Attributes
Attribute | Description |
---|---|
id | A unique identifier for this context. This value will be used in some error messages. |
Optional Attributes
Attribute | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
defaultModelType |
This attribute is ignored if the target runtime is "MyBatis3Simple", "MyBatis3DynamicSql",
or "MyBatis3Kotlin" This attribute is used to set the default for generated model types. The model type defines how MBG will generate domain classes. With some model types MBG will generate a single domain class for each table, with others MBG may generate different classes depending on the structure of the table. The property supports these values:
|
||||||||
targetRuntime |
This property is used to specify the runtime target for generated code.
The property supports these special values:
If you want to create a different code generator in entirety,
then use this value to specify the fully qualified name of a
class that extends |
||||||||
introspectedColumnImpl | Use this value to specify the fully qualified name of a
class that extends org.mybatis.generator.api.IntrospectedColumn .
This is used if you want to change the behavior of the code generators
when calculating column information. See the
Extending MyBatis Generator page for more information. |
Child Elements
- <property> (0..N)
- <plugin> (0..N)
- <commentGenerator> (0 or 1)
- <connectionFactory> (either connectionFactory or jdbcConnection is Required)
- <jdbcConnection> (either connectionFactory or jdbcConnection is Required)
- <javaTypeResolver> (0 or 1)
- <javaModelGenerator> (1 Required)
- <sqlMapGenerator> (0 or 1)
- <javaClientGenerator> (0 or 1)
- <table> (1..N)
Supported Properties
This table lists the properties that can be specified with the <property> child element:
Property Name | Property Values |
---|---|
autoDelimitKeywords | If true, then MBG will delimit SQL keywords if they are used as
column names in tables.
MBG maintains a list of SQL keywords
for many different databases. However, the list may not be
totally comprehensive. If a particular keyword is not on MBG's
list, you may force the column to be delimited with a
<columnOverride> .
See the source code for the class
The default value is false. |
beginningDelimiter | The value to use as the beginning identifier delimiter for SQL identifiers that
require delimiters. MBG will automatically delimit SQL identifiers if the
identifier contains a space. MBG will also delimit SQL identifiers if
specifically requested in a <table> or <columnOverride> configuration.
The default value is double quotes ("). |
endingDelimiter | The value to use as the ending identifier delimiter for SQL identifiers that
require delimiters. MBG will automatically delimit SQL identifiers if the
identifier contains a space. MBG will also delimit SQL identifiers if
specifically requested in a <table> or <columnOverride> configuration.
The default value is double quotes ("). |
javaFileEncoding | Use this property to specify an encoding to use when working with Java files.
Newly generated Java files will be written to the file system in this encoding,
and existing Java files will be read with this encoding when performing a merge.
If not specified, then the platform default encoding will be used.
See |
javaFormatter | Use this property to specify the full class name of a user provided formatter for generated
Java files. The class must implement org.mybatis.generator.api.JavaFormatter
and must have a default (no argument) constructor. Each context holds a single instance
of the Java formatter. The default Java formatter is
org.mybatis.generator.api.dom.DefaultJavaFormatter .
|
kotlinFileEncoding | Use this property to specify an encoding to use when working with Kotlin files.
Newly generated Kotlin files will be written to the file system in this encoding.
If not specified, then the platform default encoding will be used.
See |
kotlinFormatter | Use this property to specify the full class name of a user provided formatter for generated
Kotlin files. The class must implement org.mybatis.generator.api.KotlinFormatter
and must have a default (no argument) constructor. Each context holds a single instance
of the Kotlin formatter. The default Kotlin formatter is
org.mybatis.generator.api.dom.DefaultKotlinFormatter .
|
xmlFormatter | Use this property to specify the full class name of a user provided formatter for generated
XML files. The class must implement org.mybatis.generator.api.XmlFormatter
and must have a default (no argument) constructor. Each context holds a single instance
of the XML formatter. The default XML formatter is
org.mybatis.generator.api.dom.DefaultXmlFormatter . The default formatter
uses the formatting built into the XML DOM classes.
|