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 property 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 org.mybatis.generator.api.IntrospectedTable. With this, you can create your own code generator and plug it in to the code generation engine. See the Extending MyBatis Generator page for more information. |
||||||||
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)
- <jdbcConnection> (1 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 org.mybatis.generator.internal.db.SqlReservedWords for a list of keywords recognized by MBG. 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 java.nio.charset.Charset for information on valid encodings. |
javaFormatter | Use this property to specify the full class name of a user provided formater 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. The default formatter uses the formatting built into the Java DOM classes. |
xmlFormatter | Use this property to specify the full class name of a user provided formater 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. |