MyBatis Generator XML 配置文件解析
常见的 mybatis generator 程序是由xml配置来进行驱动的,配置文件会告诉 generator:
- 如何连接到数据库
- 要生成什么对象,以及如何生成它们
- 应该为哪些表生成对象
下面是一个配置文件的实例:
1 |
|
一、context
<context>
元素用于指定生成一组对象的环境。有很多子元素,用来指定要连接的数据库、要生成的对象类型以及要生成对象的表。
可以在 <generatorConfiguration>
元素中列出多个 <context>
元素,以允许在 mybatis generator 的一个程序中从不同的数据库或使用不同的参数生成对象。
1、必须属性
1.1 id
<context>
的唯一标识符
2、可选属性
2.1 targetRuntime
用来指定生成代码的运行目标。可选项有:
- MyBatis3DynamicSql
- MyBatis3Kotlin
- MyBatis3
- MyBatis3Simple
2.1.1 MyBatis3DynamicSql
默认值。
MBG 将生成受 Mybatis 3.4.2、Java 8 及更高版本支持兼容的对象。
注意:此运行目标生成的 Java 代码依赖于 Mybatis Dynamic SQL
的1.1.3或更高版本。
2.1.2 MyBatis3Kotlin
MBG 将生成受 MyBatis 3.4.2及更高版本兼容的 Kotlin 对象。
注意:使用此目标运行时生成的Kotlin代码依赖于 Mybatis Dynamic SQL
的1.1.4或更高版本。
2.1.3 MyBatis3
MBG 将生成受 MyBatis 3.0 及更高版本、JSE 5.0及更高版支持兼容的对象。
生成的对象中的 by example
方法实际上支持无限的动态where子句。
此外,使用这些生成器生成的Java对象支持许多 JSE5.0 特性,包括参数化类型和注释。
2.1.4 MyBatis3Simple
MBG 将生成受 MyBatis 3.0 及更高版本、JSE 5.0及更高版支持兼容的对象。
使用此目标运行时生成的映射器是非常基本的 CRUD 操作,只使用了很少的动态SQL,没有 by example
方法。
2.1.5 自定义代码生成器
如果想要创建一个完全不同的代码生成器,请给此属性赋值一个继承了 org.mybatis.generator.api.IntrospectedTable
的类的全限定名
2.2 defaultModelType
如果运行目标为 MyBatis3Simple
,MyBatis3DynamicSql
,MyBatis3Kotlin
时,会忽略此属性的配置。
此属性用于设置生成的模型类型默认值。模型类型声明了 mybatis generator 如何生成实体类。有些会为每一个表都生成一个实体类,有的会根据表的结构来生成不同的实体类。
取值如下:
- conditional
- flat
- hierarchical
2.2.1 conditional
默认值。
该模型与 hierarchical
相似,不同点在于如果主键类中只包含一个字段,则不会生成一个单独的类。因此如果表的主键只有一个字段,那么这个字段将会合并到基类中。
比如下面的实体类,对应表 primary_table
,主键只有一个字段 risk_code
。
1 |
|
1 | public interface PrimaryTableMapper { |
2.2.2 flat
为任何表都生成一个实体类。该类包含表中的所有字段。
比如下面的实体类,对应表 primary_table
,主键为 risk_code
和 class_code
两个字段的联合主键。
1 |
|
该表对应的 Mapper 中,*ByPrimaryKey
方法为:
1 | public interface PrimaryTableMapper { |
2.2.3 hierarchical
如果表中有主键,那么将为主键单独生成一个类,而除了主键外的其他字段将放到另一个单独的类中,另外的类将继承主键类。
1 |
|
1 | public class PrimaryTableKey { |
该表对应的 Mapper 中,*ByPrimaryKey
方法为:
1 | public interface PrimaryTableMapper { |
3、子元素
<property>
,零个或多个<plugin>
,零个或多个<commentGenerator>
,零个或一个<connectionFactory>
,必须的,一个<jdbcConnection>
,必须的,一个<javaTypeResolver>
,零个或一个<javaModelGenerator>
,必须的,一个<sqlMapGenerator>
,零个或一个<javaClientGenerator>
,零个或一个<table>
,一个或多个
4、支持的属性
下面的这些属性是可以在子元素 <property>
中指定的。
4.1 autoDelimitKeywords
默认值为false。
如果为true的话,有的列名中包含SQL关键字时,MBG将对其进行分隔。MBG为不同的数据库维护不同的SQL关键字列表,但是这个列表可能并不全面。如果某个特定关键字不在列表中,则可以强制使用 <columnOverride>
来分隔该列。
源码类:org.mybatis.generator.internal.db.SqlReservedWords
4.2 beginningDelimiter
默认值为双引号。
用什么符号来区分字段名。
1 | select "userName", user_code from z2huo_user; |
4.3 endingDelimiter
默认值为双引号。
用什么符号来区分字段名。
1 | select "userName", user_code from z2huo_user; |
4.4 javaFileEncoding
指定处理 Java 文件时使用的编码。新生成的 Java 文件将以这种编码写入文件系统。并且在执行合并时用这种编码格式读取存在的 Java 文件。
如果该值没有指定,则使用平台默认的编码格式。
可用的编码格式请参考 java.nio.charset.Charset
4.5 javaFormatter
为生成 Java 文件指定自定义格式化程序的全限定类名。
此属性中值中指定的类必须实现org.mybatis.generator.api.JavaFormatter
接口,并且必须包含一个默认的无参构造函数。
每个 <context>
都包含 Java 格式化程序的实例,默认的格式化程序是 org.mybatis.generator.api.dom.DefaultJavaFormatter
4.6 kotlinFileEncoding
指定处理 Kotlin 文件时使用的编码。新生成的 Kotlin 文件将以这种编码写入文件系统。并且在执行合并时用这种编码格式读取存在的 Kotlin 文件。
如果该值没有指定,则使用平台默认的编码格式。
可用的编码格式请参考 java.nio.charset.Charset
4.7 kotlinFormatter
为生成 Kotlin 文件指定自定义格式化程序的全限定类名。
此属性中值中指定的类必须实现org.mybatis.generator.api.KotlinFormatter
接口,并且必须包含一个默认的无参构造函数。
每个 <context>
都包含 Java 格式化程序的实例,默认的格式化程序是 org.mybatis.generator.api.dom.DefaultKotlinFormatter
4.8 xmlFormatter
为生成的XML文件指定自定义格式化程序的全限定类名。
此属性中值中指定的类必须实现org.mybatis.generator.api.XmlFormatter
接口,并且必须包含一个默认的无参构造函数。
每个 <context>
都包含 Java 格式化程序的实例,默认的格式化程序是 org.mybatis.generator.api.dom.DefaultXmlFormatter
二、jdbcConnection
该元素用于指定数据库连接的属性。mybatis generator 使用 JDBC 的 DatabaseMetaData
类来发现配置中指定的表的属性。
每个 <context>
元素都需要一个 <connectionFactory>
或 <jdbcConnection>
元素
1、必须属性
1.1 driverClass
用于访问数据库的 JDBC 驱动程序的完全限定类名。
1.2 connectionURL
用于访问数据库的 JDBC 连接 URL
2、可选属性
2.1 userId
连接数据库的用户ID
2.2 password
连接数据库的密码
3、子元素
只有一个子元素 <property>
,
注意:此处指定的任何属性都将添加到JDBC驱动程序的属性中。
三、javaModelGenerator
该元素用于定义 Java 模型生成器的属性。Java模型生成器构建数据实体类和 Example 类。
这个元素是 <context>
元素的必须子元素
1、必须属性
1.1 targetPackage
定义将生成的类放到哪个包中。
在默认的生成器中。enableSubPackages
属性控制包名的计算方式,如果该属性为true,则生成对象存放的包为 targetPackage
加上表的目录或模式(schema),如果目录和架构存在的话;如果该属性为false的话,则生成对象存放的包与 targetPackage
属性中指定的包完全相同。mybatis generator 将为生成的包创建所需的文件夹。
1.2 targetProject
定义将生成对象放到什么项目里。
在 Java 集成开发环境中运行时,该属性要指定保存对象的项目和源码文件夹。在其他环境中时,该值应该指定本地文件系统上的现有目录。如果指定的目录不存在,mybatis generator 将不会创建该目录。
比如,在 IDEA 中进行开发时,项目为 spring-boot-demo
,该项目下有好多子项目(modules),该 mybatis generator 项目的相对路径为 mybatis-demos/demo-mybatis-generator/demo-mybatis-generator-mybatis3
,再加上源码文件夹 src/main/java
,最终的 targetProject 属性为:
1 | <javaModelGenerator targetPackage = "" targetProject = "mybatis-demos/demo-mybatis-generator/demo-mybatis-generator-mybatis3/src/main/java" > |
2、可选属性
无
3、子元素
只有一个子元素 <property>
,
1 | <javaModelGenerator targetPackage="XXX" targetProject="XXX" > |
4、支持的属性
下面的这些属性是可以在子元素 <property>
中指定的。
4.1 enableSubPackages
此属性用于选择 mybatis generator 是否根据表的目录和模式为生成的对象指定不同的 Java 包。
现在有属性 targetPackage="cn.z2huo.model"
,有模式 public
中的表 user
,假如此属性为true,则表生成的对象将被放置在表 cn.z2huo.model.public
中;如果属性为 false,生成的对象将直接被放置在 cn.z2huo.model
中。
4.2 exampleTargetPackage
此属性用于为生成的 Example 类指定不同的包。如果未指定,则 Example 类将与其他实体对象生成在同一个包中。
注意:此属性将运行时目标指定为 Mybatis Dynamic SQL
时被忽略。
4.3 exampleTargetProject
此属性用于为生成的 Example 类指定不同的项目。如果未指定,则 Example 类将与其他实体对象生成在同一个项目中。
注意:此属性将运行时目标指定为 Mybatis Dynamic SQL
时被忽略。
4.4 trimStrings
此属性用于选择 mybatis generator 是否在生成的代码中添加trim()
方法来去除字符类型字段中的空白。在数据库中字段类型为 char
而不是 varchar
时,这个配置将很有用。
默认为 false,为 true 时,mybatis generator 将在代码中插入去除空白字符的逻辑。
可以被 <table>
或 <columnOverride>
元素中的 trimStrings
属性重写。
示例如下:
1 | public class User { |
注意:
- 此属性将运行时目标指定为
MyBatis3Kotlin
时被忽略。 - 与 lombok 一起使用时,不会影响到 lombok 生成实体类的逻辑
4.5 rootClass
此属性可用于为生成的 Java 实体对象指定父类。如果表里面有主键,mybatis generator 将指定该属性值中的类为生成的实体对象的父类。
此属性可以被 <table>
元素中的相同属性重写。
如果子类中的字段在根类中存在,那么 mybatis generator 在生成实体类的时候,不会在子类中覆盖父类中的属性。属性的匹配规则如下:
- 属性名称完全匹配
- 属性类型相同
- 属性拥有一个
getter
方法 - 属性拥有一个
setter
方法
该属性的值,必须是完全限定的类名:cn.z2huo.demo.model.dataobject.User
注意:此属性将运行时目标指定为 MyBatis3Kotlin
时被忽略。
示例如下:
1 | <javaModelGenerator targetPackage="XXX" targetProject="XXX" > |
1 | public class Role extends BaseDO { |
4.6 constructorBased
此属性用于指定 mybatis generator 是否会为实体类生成一个构造函数,该构造函数为全参构造函数。此外,SQL结果映射将被构建为对每个字段使用构造函数,而不是 setter
。
默认值为false。
如果 immutable
属性设置为 true,则此属性将会被忽略并强制赋值为 true。
此属性可以被 <table>
元素中的相同属性重写。
注意:
- 此属性将运行时目标指定为
MyBatis3Kotlin
时被忽略。 - 与 lombok 一起使用时,不会影响到 lombok 生成实体类的逻辑
4.7 immutable
此属性用于指定 mybatis generator 是否会生成属性不可变的实体类,这意味这实体类将没有 setter
方法,并且使用全参构造函数来为每个字段进行赋值。
默认为 false。
如果为 true,则无论 constructorBased
属性的值为何值,都将强制使用全参构造函数来构建实体类。
此属性可以被 <table>
元素中的相同属性重写。
注意:
- 此属性将运行时目标指定为
MyBatis3Kotlin
时被忽略。 - 与 lombok 一起使用时,不会影响到 lombok 生成实体类的逻辑
四、javaTypeResolver
该元素用于定义 Java 类型解析程序。
Java 类型解析程序用于根据数据库字段信息获取 Java 中的数据类型。默认的 Java 类型解析程序通过替换整型(Long、Integer、Short等)使得 JDBC DECIMAL 和 NUMERIC 类型更加易于使用。如果不想采用这种替换行为,请将 forceBigDecimals
属性设置为true。如果想要达到与默认行为不同的效果,也可以替换为自己的实现。
注意:如果运行时目标为 MyBatis3Kotlin
,生成器会自动将 Java 类型转换为 Kotlin 的等效类型。
1、必须属性
无
2、可选属性
2.1 type
用于指定开发者提供的 Java 类型解析程序。该类必须实现 org.mybatis.generator.api.JavaTypeResolver
,并且必须有默认的公共构造函数。
该属性还接受值 DEFAULT
,此时将使用默认实现。
3、子元素
<property>
,零个或多个
4、支持的属性
下面的这些属性是可以在子元素 <property>
中指定的。
4.1 forceBigDecimals
此属性用于指定 MBG 是否强制使用 Java 中的 BigDecimal 类型来对应数据库中的 DECIMAL 和 NUMERIC 字段类型。
值为false
false为默认值。
默认的 Java 类型解析程序将会根据替换规则将 DECIMAL 和 NUMERIC 字段类型替换为整型。
替换规则如下:
- 存在小数位,或者长度大于18位,则使用 BigDecimal 类型
- 无小数位,长度为10到18位,则使用 Long 类型
- 无小数位,长度为5到9位,则使用 Integer 类型
- 无小数位,长度小于5位,则使用 Short 类型
参考代码:JavaTypeResolverDefaultImpl#calculateBigDecimalReplacement()
值为true
始终使用 BigDecimal 类型来对应数据库中的 DECIMAL 和 NUMERIC 字段类型。
4.1 useJSR310Types
此属性用于指定 MBG 是否强制使用 JSR-310 中的日期时间类型,即 LocalDate
,LocalDateTime
,LocalTime
。如果为true,将使用 JSR-310 的类型。
注意:无论该属性取值为何值,MBG 都将将一下类型替换为 JSR-310 中的新类型
JDBC数据类型 | Java 类型 |
---|---|
TIME_WITH_TIMEZONE | java.time.OffsetTime |
TIMESTAMP_WITH_TIMEZONE | java.time.OffsetDateTime |
五、sqlMapGenerator
此元素定义SQL映射生成器的属性。SQL映射生成器为每一个表构建一个MyBatis格式的XML文件。
只有您需要XML时,此元素才是 <context>
元素的必须子元素。基于 MyBatis Dynamic SQL
时不会生成XML文件,如果指定了该元素,则会忽略该元素。
如果未指定 javaClientGenerator
,但是指定了 sqlMapGenerator
,那么将会只生成SQL映射的XML文件和实体类。
1、必须属性
1.1 targetPackage
同[[MyBatis Generator XML 配置文件参考#1.1 targetPackage]]
1.2 targetProject
同[[MyBatis Generator XML 配置文件参考#1.2 targetProject]]
2、可选属性
无
3、子元素
<property>
,零个或多个
4、支持的属性
同[[MyBatis Generator XML 配置文件参考#4.1 enableSubPackages]]
六、javaClientGenerator
元素用于定义Java客户端生成器的属性。Java客户端生成器构建Java接口和类,使生成的Java模型和XML映射文件易于使用。对于MyBatis,生成的对象采用映射器接口的形式。
此元素是 <context>
元素的可选子元素。如果不指定此元素,那么 MBG 将不会生成 Java 客户端接口和类。
1、必须属性
1.1 type
这个属性用于指定 Java client 生成器,或者指定用户提供的自定义程序。自定义程序应该继承 org.mybatis.generator.codegen.AbstractJavaClientGenerator
并且必须具有公共的默认构造方法。
- 如果
<context>
元素的targetRuntime
属性为MyBatis3DynamicSql
,则这个属性是可选的 - 如果
<context>
元素的targetRuntime
属性为MyBatis3Kotlin
,则这个属性是可选的 - 如果
<context>
元素的targetRuntime
属性为MyBatis3
,则可以使用如下值:ANNOTATEDMAPPER
、MIXEDMAPPER
、XMLMAPPER
- 如果
<context>
元素的targetRuntime
属性为MyBatis3Simple
,则可以使用如下值:ANNOTATEDMAPPER
、XMLMAPPER
1.1.1 ANNOTATEDMAPPER
生成的 Mapper 接口是基于注解的,并且会生成 Mybatis 3.x SqlProviders 文件。
不会生成任何 XML mapper 文件。
需要 MyBatis 3.0.4 或更高版本。
1.1.2 MIXEDMAPPER
生成的 Mapper 接口是基于注解的,并且是注解和XML混合的。不会生成 Mybatis 3.x SqlProviders 文件。
会生成 XML mapper 文件。在简单的SQL中使用注解。所有复杂的动态SQL将以XML生成。
需要 MyBatis 3.0.4 或更高版本。
1.1.3 XMLMAPPER
生成的 Mapper 接口是完全基于XML的。
1.2 targetPackage
同[[MyBatis Generator XML 配置文件参考#1.1 targetPackage]]
1.3 targetProject
同[[MyBatis Generator XML 配置文件参考#1.2 targetProject]]
2、可选属性
无
3、子元素
<property>
,零个或多个
4、支持的属性
下面的这些属性是可以在子元素 <property>
中指定的。
4.1 dynamicSqlSupportPackage
此属性只有在 <context>
元素的 targetRuntime
属性为 MyBatis3DynamicSql
或 MyBatis3Kotlin
时才生效。
此元素用来指定生成的 DynamicSqlSupport
文件的包。如果未指定,则生成的文件存放的包为 targetPackage
的值。
4.2 rootInterface
此属性用来为所有生成的接口对象指定父接口。
可以通过在 <table>
元素中的相同属性来覆盖这里的配置。
注意:
- 如果目标运行时为
MyBatis3Kotlin
,则忽略此属性 - MBG 不会验证接口是否存在,或者是否是有效的 Java 接口
- 该属性的值应该为接口的全限定类名
4.3 enableSubPackages
同[[MyBatis Generator XML 配置文件参考#4.1 enableSubPackages]]
七、table
用于指定数据库的表需要又 MBG 生成MyBatis的相关文件。为每个表生成的对象包括:
- MyBatis 格式的XML映射文件
- 表对应实体类文件
- 与表字段相匹配的类
Example
类Mapper
接口
1、数据库标识符
MBG 试图自动处理数据库标识符的大小写敏感性。
在大多数情况下,无论指定catalog、schema和tableName为何值,MBG 都能够查找到表。
流程步骤如下:
- 如果catalog、schema或tableName属性中的任何一个包含空格,则MBG将根据指定的大小写查找表。在这种情况下,MBG将自动对生成的SQL中的表标识符进行定界。
- 如果数据库标识符以大写存储,MBG将自动将任何表标识符转换为大写。
- 如果数据库标识符以小写存储,MBG将自动将任何表标识符转换为小写。
- MBG将根据指定的具体情况查找表。
在大多数情况下,这一过程非常有效。然而,在某些情况下它会失败。例如,假设您创建了一个这样的表:
1 | create table "myTable" ( |
因为表名被引号包裹了,所以大多数数据库都会按照指定的表名,即myTable
,创建表。在此种情况下,应该配置属性 delimitIdentifiers="true"
2、必须属性
2.1 tableName
数据库表名称(不包括架构和模式)。
可以包含SQL通配符。
3、可选属性
3.1 schema
数据库模式,如果数据库不使用模式或者有默认模式,则不需要数据库模式。
如果需要,指定的值中可以包含SQL通配符。
如果加上这个值之后,生成的 Mapper 文件中的表名前面会加上模式,例如 public.z2huo_user
3.2 catalog
数据库目录,如果数据库不使用目录或者有默认目录,则不需要该目录。
3.3 alias
别名。
MyBatis3Kotlin
时,会忽略此属性的配置。
MBG将会对于所有生成的SQL中的select语句中的表名和列名,列名将使用格式如下 别名_列名
3.4 domainObjectName
定义生成的类的名称。如果未指定,MBG 将根据表名自动生成一个名称。
该名称用于实体类名称和DAO名称。
该属性中可以加上包名。例如,如果值为 dataobject.User
,则这个实体类名称将为 User
,而包 dataobject
将会添加到 targetPackage
后
3.5 mapperName
Mapper 的名称,包括接口和XML文件。
如果未指定,则名称将是实体类的名称加上 Mapper
。
同样,可以在值中添加包名。
3.6 sqlProviderName
MyBatis3Kotlin
和 MyBatis3DynamicSql
时,该属性不生效。
生成的 SqlProvider
对象的名称。如果未指定,则名称将是实体类的名称加上 SqlProvider
。
同样,可以在值中添加包名。
3.7 DAO中方法的控制
MyBatis3Kotlin
和 MyBatis3DynamicSql
时,该属性不生效。
属性 | 默认值 | 属性描述 |
---|---|---|
enableInsert | true | 是否生成插入语句 |
enableSelectByPrimaryKey | true | 是否生成按主键查询语句。无主键则此属性不生效 |
enableSelectByExample | true | 是否生成 Example 对象 |
enableUpdateByPrimaryKey | true | 是否生成根据主键更新语句。无主键则此属性不生效 |
enableDeleteByPrimaryKey | true | 是否生成根据主键删除语句。无主键则此属性不生效 |
enableDeleteByExample | true | 是否生成根据 Example 删除语句 |
enableCountByExample | true | 是否生成根据 Example 查询数量语句 |
enableUpdateByExample | true | 是否生成根据 Example 更新语句 |
3.8 selectByExampleQueryId
MyBatis3Kotlin
和 MyBatis3DynamicSql
时,该属性不生效。
不知道干嘛用的。效果如下:
1 | <select id="selectByExample" parameterType="cn.z2huo.mybatis.generator.mybatis3.model.example.user.UserExample" resultMap="BaseResultMap"> |
3.8 selectByPrimaryKeyQueryId
MyBatis3Kotlin
和 MyBatis3DynamicSql
时,该属性不生效。
不知道干嘛用的。效果如下:
1 | <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> |
3.9 modelType
MyBatis3Kotlin
和 MyBatis3DynamicSql
时,该属性不生效。
参考:
- [[MyBatis Generator XML 配置文件参考#2.2 defaultModelType]]
- [[MyBatis Generator XML 配置文件参考#2.2.1 conditional]]
- [[MyBatis Generator XML 配置文件参考#2.2.2 flat]]
- [[MyBatis Generator XML 配置文件参考#2.2.3 hierarchical]]
3.10 escapeWildcards
默认值为false。
该属性指定是否转义模式(schema)或表名中的SQL通配符(下划线和百分号)。
3.11 delimitIdentifiers
默认值为false。除非 catalog
,schema
或表名包含空格时设置为true。
指示 MBG 在扫描表时是否使用指定的大小写。
参考:[[MyBatis Generator XML 配置文件参考#1、数据库标识符]]
3.12 delimitAllColumns
默认值为false。
指示MBG是否应向生成的SQL中的所有列名添加分隔符。这是为每个列编码 <columnOverride>
的一种替代方法,该方法指定应对列进行分隔。这对于像PostgreSQL这样对标识符区分大小写的数据库非常有用。
4、子元素
<property>
,零次或多次<generatedKey>
,零次或一次<domainObjectRenamingRule>
,零次或一次<columnRenamingRule>
,零次或一次<columnOverride>
,零次或多次<ignoreColumn>
,零次或多次
5、支持的属性
下面的这些属性是可以在子元素 <property>
中指定的。
5.1 constructorBased
5.2 dynamicSqlSupportClassName
5.3 dynamicSqlTableObjectName
5.4 ignoreQualifiersAtRuntime
5.5 immutable
5.6 modelOnly
5.7 rootClass
[[MyBatis Generator XML 配置文件参考#4.5 rootClass]]
5.8 rootInterface
[[MyBatis Generator XML 配置文件参考#4.2 rootInterface]]
5.9 runtimeCatalog
5.10 runtimeSchema
5.11 runtimeTableName
5.12 selectAllOrderByClause
5.13 trimStrings
[[MyBatis Generator XML 配置文件参考#4.4 trimStrings]]
5.14 useActualColumnNames
默认值为false。
如果为 true,则MBG将使用从数据库元数据返回的列名作为生成的域对象的属性。如果为 false,MBG将尝试对返回的名称进行大小写转换。
在任何一种情况下,名称都可以由 <columnOverride
元素显示指定,此时,此属性被忽略
例如,表中有一个字段为 start_date
,如果此属性值为true,则生成的属性名称为 start_date
,getter和setter将分别为 getstart_date()
和 setstart_date()
。如果此属性值为false,则生成的属性名为 startDate
,生成的getter和setter将是 getStartDate()
和 setStartDate()
。
5.15 useColumnIndexes
5.16 useCompoundPropertyNames
相关链接
OB links
OB tags
#MyBatis