当前使用版本(必填,否则不予处理)

3.3.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

一些简单的CRUD,我不想使用xml,直接继承了BaseMapper,实体类和列名通过@TableFiled来指定映射关系。同一个实体类和mapper,我有复杂的sql查询,想在xml中编写,此时仍然需要在xml指定ResultMap。如何让实体类上和xml文件复用同一个ResultMap?看官方文档@Table可以指定ResultMap,是引用xml中的。能否在实体类上定义好ResultMap,让xml能够引用呢?

重现步骤(如果有就写完整)

报错信息

Comment From: miemieYaho

不能,加载顺序决定的,有xml必先加载xml,如果xml里sql指定的resultMap不存在会报错

Comment From: huanglongyue

当前使用版本(必填,否则不予处理)

3.3.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

一些简单的CRUD,我不想使用xml,直接继承了BaseMapper,实体类和列名通过@TableFiled来指定映射关系。同一个实体类和mapper,我有复杂的sql查询,想在xml中编写,此时仍然需要在xml指定ResultMap。如何让实体类上和xml文件复用同一个ResultMap?看官方文档@table可以指定ResultMap,是引用xml中的。能否在实体类上定义好ResultMap,让xml能够引用呢?

重现步骤(如果有就写完整)

报错信息

可以复用的哦,TableInfo.initResultMapIfNeed 会根据实体bean的映射关系生产一个id (this.currentNamespace + "." + "mybatis-plus" + "_" + this.entityType.getSimpleName())的resultMap,在mapper.xml 直接使用resultMap=‘当前的id’就可以共用了。。反过来也可以,比如xml定义了resultMap ,在实体bean@TableName(resultMap’)引用也可以。

Comment From: huanglongyue

当前使用版本(必填,否则不予处理)

3.3.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

一些简单的CRUD,我不想使用xml,直接继承了BaseMapper,实体类和列名通过@TableFiled来指定映射关系。同一个实体类和mapper,我有复杂的sql查询,想在xml中编写,此时仍然需要在xml指定ResultMap。如何让实体类上和xml文件复用同一个ResultMap?看官方文档@table可以指定ResultMap,是引用xml中的。能否在实体类上定义好ResultMap,让xml能够引用呢?

重现步骤(如果有就写完整)

报错信息

查询可以@TableField 与resultMap可以共用,但是insert(实体bean)的时候,不能共用。