当数据库中的字段有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;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)