当数据库中的字段有text类型时,mybatis会为这种类型单独创建一个类来映射这两个字段,生成的主要po类中是没有这两个字段的。
在这里插入图片描述
自动生成的xxxWithBLOBs类会继承生成的主要po类。

public class ProductWithBLOBs extends MainPO {
    private String subImages;

    private String detail;

    public String getSubImages() {
        return subImages;
    }

    public void setSubImages(String subImages) {
        this.subImages = subImages;
    }

    public String getDetail() {
        return detail;
    }

    public void setDetail(String detail) {
        this.detail = detail;
    }
}

去掉此类的方法:
在generator配置中添加标签,将字段在映射时类型转换一下即可,这里转换成了VARCHAR,对应生成的类属性类型为String。这种转换不会影响数据库的真正数据类型。

<table tableName="table_name" domainObjectName="MainPO" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false">
    <columnOverride column="detail" jdbcType="VARCHAR"/>
    <columnOverride column="sub_images" jdbcType="VARCHAR"/>
</table>

然后删除原来的BLOBs类,再运行。
结果:
不会再生成BLOBs类了,而生成的主要po类中也出现了这两个字段对应的属性。

private String subtitle;

private String mainImage;
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐