【问题标题】:MyBatis Generator single resultMapMyBatis Generator 单结果图
【发布时间】:2014-07-03 02:53:37
【问题描述】:

我使用 MyBatis Generator 生成 JavaBean 和 Mapper.xml。

但 Mapper.xml 与我预期的不同。

Mapper.xml 包含两个resultMap,BaseResultMapResultMapWithBLOBs

我只希望一个 resultMap 包含所有列。

【问题讨论】:

  • 您确定 ResultMapWithBLOBs 没有扩展 BaseResultMap?
  • ResultMapWithBLOBs 确实扩展了 BaseResultMap。但我只想要一个包含所有列的 resultMap,这可能吗?

标签: java mybatis mybatis-generator


【解决方案1】:

很难知道您是如何设置 mybatis 生成器配置的,但这样做的方法是通过配置上下文的模型类型。

MBG 提供了一个名为ModelType 的枚举,它允许您控制Java 模型类(您的bean)的生成方式。您想在上下文配置中使用 ModelType.FLAT 以避免创建任何额外的 bean 类。

【讨论】:

    【解决方案2】:

    避免创建“WithBlobs”子类的一个选项是指定<columnOverride/> 在生成器配置中为 Blob 列使用非 Blob jdbc 类型。

    因此,在表中名为“bar”的TEXT 列示例中,您可以指定VARCHAR

        <table tableName='foo' domainObjectName='Foo'>
            <property name='useActualColumnNames' value='true' />
            <columnOverride column="bar" property="bar" jdbcType="VARCHAR" /> 
        </table>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-06
      • 1970-01-01
      • 2016-12-10
      相关资源
      最近更新 更多