You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MyBatis Generator如何配置避免生成*WithBLOBs实体扩展类

MyBatis Generator 禁止生成*WithBlobs类解决方案

结论

可以直接禁止*WithBlobs扩展类的生成,MyBatis Generator 原生提供了对应配置项实现该需求。

核心配置说明

MyBatis Generator 通过defaultModelType属性控制实体类的生成策略,该属性可配置在<context>标签(全局生效)或<table>标签(单表生效,优先级更高)上,可选值如下:

  • conditional:默认值,表存在主键时生成Key实体类,存在CLOB/BLOB大字段时生成WithBlobs实体类
  • flat:所有字段(主键、普通字段、大字段)全部合并到同一个主实体类中,不会生成任何扩展类
  • hierarchical:分层生成实体类,主键类为父类,普通实体类继承主键类,*WithBlobs类继承普通实体类

配置示例

<!-- 全局配置:所有表都使用flat模型,全局禁用扩展类生成 -->
<context id="OracleContext" targetRuntime="MyBatis3" defaultModelType="flat">
  <!-- 数据源配置、插件配置、生成路径配置等其余内容省略 -->

  <!-- 单表配置:仅指定表禁用扩展类生成,优先级高于全局配置 -->
  <table tableName="你的表名" domainObjectName="你的实体类名" defaultModelType="flat">
    <!-- 字段映射、主键配置等其余表级配置省略 -->
  </table>
</context>

补充说明

配置生效后,CLOB类型字段会直接映射到主实体类中,不会出现字段丢失问题,Mapper对应查询方法的返回值也会自动调整为主实体类,无需额外修改调用逻辑。
如果你的配置中已经将targetRuntime设置为MyBatis3Simple,该模式默认就不会生成*WithBlobs类,无需额外配置该属性。

内容的提问来源于stack exchange,提问作者Plijen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 15:06:06