The <columnRenamingRule> Element
MyBatis Generator (MBG) uses the <columnRenamingRule> element to rename database columns before calculating the corresponding property name in an introspected table. This is useful when all columns in a table have a common prefix that should be removed before calculating the property name. For example, suppose a table contains the following columns:
- CUST_BUSINESS_NAME
- CUST_STREET_ADDRESS
- CUST_CITY
- CUST_STATE
It might be annoying to have the generated properties all containing the CUST prefix. The prefix can be removed by specifying a renaming rule like this:
<columnRenamingRule searchString="^CUST_" replaceString="" />
Note that, internally, MBG uses the java.util.regex.Matcher.replaceAll method for this function. See the documentation for that method and class for examples of the regular expression language used in Java.
This element will be ignored for any column where a <columnOverride> element matches a column - the <columnOverride> will take precedence over the renaming rule.
If specified, the renaming rule in this element will rename the column before the property name is calculated. The calculated property name may be different depending on the value of the "useActualColumnNames" property on the corresponding <table> element. The following table shows the different values that will result if the column renaming rule shown above is applied to the field set shown above:
Column Name | Property if useActualColumnNames="true" | Property if useActualColumnNames="false" |
---|---|---|
CUST_BUSINESS_NAME | BUSINESS_NAME | businessName |
CUST_STREET_ADDRESS | STREET_ADDRESS | streetAddress |
CUST_CITY | CITY | city |
CUST_STATE | STATE | state |
This element is an optional child element of the <table> element.
Required Attributes
Attribute | Description |
---|---|
searchString | This is a regular expression that defines the substring to be replaced. |