<context> 元素用于指定生成一组对象的环境。 子元素用于指定要连接到的数据库、 要生成对象的类型和要内省的表。 多个 <context> 元素可以在 <generatorConfiguration> 元素中列出来,这样可以在同一个MyBatis Generator (MBG)从不同的数据库或者使用不同的生成生成器参数生成对象。
属性 | 描述 | ||||||||
---|---|---|---|---|---|---|---|---|---|
defaultModelType |
这个属性用来设置生成对象类型的默认值。
对象类型定义了MBG如何生成实体类。
对某些对象类型,MBG会给每一个表生成一个单独的实体类。
对另外一些对象类型,MBG会根据表结构生成不同的类。这个属性有以下可选值:
|
||||||||
targetRuntime |
此属性用于指定生成的代码的运行时目标。
该属性支持这些特殊的值:
如果您想创建一个完全不同的代码生成器, 使用一个继承了org.mybatis.generator.api.IntrospectedTable类的权限定类名替换该值。 通过这个值,您可以创建您自己的代码生成器,然后插入到代码生成器引擎中。 查阅 扩展 MyBatis Generator 页面获取更多信息。 |
||||||||
introspectedColumnImpl | 使用这个值去指定一个继承了org.mybatis.generator.api.IntrospectedColumn类的权限定名称。 这可以修改代码生成器计算列信息时候的行为。 查阅 扩展 MyBatis Generator 页面获取更多信息。 |
下面的表格列出了所有可用的 <property> 子元素:
属性名 | 属性值 |
---|---|
autoDelimitKeywords | 如果是true,那么MGB会分隔SQL关键字,如果他们被用作表中的列名。
MBG维护了许多不同数据库的SQL关键字列表。
然而,列表可能不是非常的全面。
如果一个特殊的关键字没有在MBG的关键字列表中,
您需要通过<columnOverride>强制分隔列。
查看 org.mybatis.generator.internal.db.SqlReservedWords 这个类的源码查看MGB包含的关键字列表。 默认值是false。 |
beginningDelimiter | 要用作需要分隔符的 SQL 标识符开头的标识符分隔符的值。
MBG会自动分割包含空格的SQL标识符。
MGB还会自动分隔在 <table> 或 <columnOverride>中配置了具体要求的标识符。
默认值是双引号 (")。 |
endingDelimiter | 要使用作为结束的标识符分隔符需要分隔符的 SQL 标识符的值。
MBG会自动分割包含空格的SQL标识符。
MGB还会分隔在 <table> 或 <columnOverride>中配置了具体要求的标识符。
默认值是双引号 (")。 |
javaFileEncoding | 通过这个属性设置要使用的Java文件的编码。
新生成的Java文件会用这个编码写入到文件系统。
如果Java文件已经存在并且可以使用这个编码进行读取,就会执行合并操作。
如果没有指定,就会使用平台的默认编码。
查阅 java.nio.charset.Charset 获取可以选择的编码的信息。 |
javaFormatter | 使用此属性来指定生成的 Java 文件的用户提供 formater 的完整的类名称。 这个类必须继承 org.mybatis.generator.api.JavaFormatter 而且必须有一个默认(不含参数)的构造方法。 每一个context都持有一个单独的javaFormatter的实例。 默认的javaFormatter是 org.mybatis.generator.api.dom.DefaultJavaFormatter。 默认的格式使用内置到Java DOM类的格式。 |
xmlFormatter | 使用此属性来指定生成的 XML 文件的用户提供 formater 的完整的类名称。 这个类必须继承 org.mybatis.generator.api.XmlFormatter 而且必须有一个默认(不含参数)的构造方法。 每一个context都持有一个单独的xmlFormatter的实例。 默认的xmlFormatter是 org.mybatis.generator.api.dom.DefaultXmlFormatter。 默认的格式使用内置到Java DOM类的格式。 |