ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# &lt;sqlMapGenerator&gt; 元素 &lt;sqlMapGenerator&gt; element 用于定义SQL映射生成器的属性。 SQL映射生成器为每一个内省的表生成MyBatis/iBATIS形式的XML文件。 如果目标是iBATIS2,那么这个元素是[&lt;context&gt;](context.html) 元素的一个必须的子元素。 如果目标是MyBatis3,那么只有当您选择javaClientGenerator需要XML时,他才是 [&lt;context&gt;](context.html) 元素的一个必须的子元素。 如果不指定一个javaClientGenerator,则适用以下规则: * 如果您指定一个sqlMapGenerator,那么MBG将只生成SQL映射的XML文件和模型对象。 * 如果您没有指定一个sqlMapGenerator,那么MBG将只会生成模型对象。 ## 必选属性 | 属性 | 描述 | | --- | --- | | targetPackage | 这个包用于放置生成的SQL映射文件。 在默认的生成器中,属性"enableSubPackages"用来控制如何计算实际的包。 如果是true,如果表的catalog和schema存在,就将他们作为子包加起来。 如果"enableSubPackages"是false(默认值),计算的package将是targetPackage属性指定的值。 MBG 将创建所需的生成包的文件夹。 | | targetProject | 这用来指定生成SQL映射的目标项目。 当在Eclipse环境中运行时,此选项指定保存对象的位置的项目和源文件夹。 在其他环境中,此值应为本地文件系统上的现有目录。 如果它不存在,MBG不会创建它。 | ## 可选属性 无 ## 子元素 * [&lt;property&gt;](property.html) (0..N) ## 支持的属性 下面的表格列出了所有可用的 [&lt;property&gt;](property.html) 子元素: | 属性名 | 属性值 | | --- | --- | | 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> ```