<sqlMapGenerator> 元素
<sqlMapGenerator> element 用于定义SQL映射生成器的属性。 SQL映射生成器为每一个内省的表生成MyBatis/iBATIS形式的XML文件。
如果目标是iBATIS2,那么这个元素是<context> 元素的一个必须的子元素。
如果目标是MyBatis3,那么只有当您选择javaClientGenerator需要XML时,他才是 <context> 元素的一个必须的子元素。
如果不指定一个javaClientGenerator,则适用以下规则:
- 如果您指定一个sqlMapGenerator,那么MBG将只生成SQL映射的XML文件和模型对象。
- 如果您没有指定一个sqlMapGenerator,那么MBG将只会生成模型对象。
必选属性
属性 |
描述 |
targetPackage |
这个包用于放置生成的SQL映射文件。 在默认的生成器中,属性"enableSubPackages"用来控制如何计算实际的包。 如果是true,如果表的catalog和schema存在,就将他们作为子包加起来。 如果"enableSubPackages"是false(默认值),计算的package将是targetPackage属性指定的值。 MBG 将创建所需的生成包的文件夹。 |
targetProject |
这用来指定生成SQL映射的目标项目。 当在Eclipse环境中运行时,此选项指定保存对象的位置的项目和源文件夹。 在其他环境中,此值应为本地文件系统上的现有目录。 如果它不存在,MBG不会创建它。 |
可选属性
无
子元素
支持的属性
下面的表格列出了所有可用的 <property> 子元素:
属性名 |
属性值 |
enableSubPackages |
这个属性用来选择MGB是否根据基于目录和内省表来生成不同的Java包。例如,假设某个表MYTABLE在MYSCHMA的schema中,也假设targetPackage属性的值设置为"com.mycompany"。 如果此属性为true,为这个表生成的DAO接口和类将被放置在包"com.mycompany.myschema"中。 如果此属性是false,生成的SQL映射将被放在"com.mycompany" schema中。默认值是 false |
示例
此元素指定我们总希望生成的SQL映射文件在"text.model'包中,并且我们希望使用基于schema和catalog的子包。 它还指定了我们想使用为MyBatis3的XML配置文件的mapper接口。
<sqlMapGenerator targetPackage="test.model"
targetProject="\MyProject\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>