我有两个类 A 和 B,每个类都有许多字段,还有一个表,其中包含所有这些字段的值。我尝试制作 <select>
失败和<resultMap>
将返回类型 A 和 B 的对象对列表的元素。
到目前为止,我发现的唯一(不太干净)的解决方案就是实现 typeHandler
与一列(例如表的第一列)关联,并在该代码中通过读取 ResultSet
中的所有列来创建我需要的两个对象。传递给类型处理程序,而不仅仅是作为 String
传递的列名到类型处理程序。
是否有使用结果图的更清晰的解决方案? (注意:我不想对表进行分区以匹配两种对象类型)。
最佳答案
可以通过使用关联来实现您的目的:查看 Nested Results for Association 的文档
<resultMap id="pairResultMap" type="Pair">
<association property="a" resultMap="aResultMap" />
<association property="b" javaType="B">
<!-- define mapping here -->
</association>
</resultMap>
<resultMap id="aResultMap" type="A">
<!-- define mapping here -->
</resultMap>
您可以直接定义“子”结果映射 (B) 或引用它 (A)。
关于java - MyBatis 中的多种返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34698780/