The <columnOverride> Element
MyBatis Generator (MBG) uses the <columnOverride> element to change certain attributes of an introspected database column from the values that would be calculated by default. This element is an optional child element of the <table> element.
Required Attributes
Attribute | Description |
---|---|
column | The column name of the introspected. |
Optional Attributes
Attribute | Description |
---|---|
property | The name of a Java property to be used. If not specified, MBG will generate properties based on the column name. For example, if a table has a column named "STRT_DTE" then MBG will generate the property name as either "STRT_DTE" or "strtDte" based on the value of the "useActualColumnNames" property (see the description of the <table> element for more information). This property could be used to rename the column "startDate" |
javaType | The fully qualified Java Type of the property for this column. This
can be used to override the type calculated by the JavaTypeResolver
if required. For some databases, this is necessary to handle
"odd" database types (e.g. MySql's unsigned bigint type
should be mapped to java.lang.Object). |
jdbcType | The JDBC Type (INTEGER, DECIMAL, NUMERIC, VARCHAR, etc.) for the column.
This can be used to override the type calculated by the JavaTypeResolver
if required. For some databases this is necessary to handle JDBC driver
quirks (e.g. DB2's LONGVARCHAR type should be mapped to VARCHAR for MyBatis). |
typeHandler | A user defined type handler that should be used for this column.
This should be the fully
qualified name of a class that implements MyBatis'
TypeHandler
interface.
If unspecified, or blank,
then MyBatis will use the default type facility for handling types.
Important: MBG does not verify that this type handler exists,
or is valid. MBG simply inserts this value at the appropriate places
in the generated SQL Map configuration file.
|
delimitedColumnName | Specifies whether the column name should be delimited in the generated SQL.
MBG will automatically delimit the column name if the name contains a space,
so this override is only necessary when the column name must be forced to a certain
case, or when the column name is a reserved word in the database.
When "true", the The delimiter characters are specified on the <context> element. The default value is false. However, MBG will automatically delimit column names that contain a space, so no override is necessary in that case. |
isGeneratedAlways | Specifies whether the column is a GENERATED ALWAYS column in the database. If the column
is GENERATED ALWAYS then MBG will not reference the column in insert or update
statements.
The default value is false. Since version 1.3.4 |
Child Elements
- <property> (0..N) Note: any properties specified here will be added to the properties collection of the corresponding IntrospectedColumn. MBG does not currently respond to any properties. This element is provided so that special values for each column may be provided to a plugin in the event that a plugin is coded to generate or modify something unique to a particular column.
Supported Properties
This table lists the properties of the default SQL Map generators that can be specified with the <property> child element:
Property Name | Property Values |
---|---|
forceJavaTypeIntoMapping |
When true, this property will add the Java type to the generated mappings. This is normally not necessary.
However some functions will need it such as when you use MyBatis' EnumOrdinalTypeHandler.
This property is only recognized, and only needed, by the MyBatis3DynamicSQL and MyBatis3Kotlin runtimes. The default value is false Since version 1.4.1 |
trimStrings |
This property is used to select whether MyBatis Generator adds code to trim
the white space from character fields returned from the database.
This can be useful if your database stores data in CHAR fields rather than
VARCHAR fields. When true for a character field/column, MyBatis Generator will
insert code to trim leading and trailing whitespace.
This property value overrides the property if specified at the
<javaModelGenerator> and/or
<table> level.
The default value is inherited from the <javaModelGenerator> and/or <javaModelGenerator>, otherwise false. |