1、一对一,association和javaType
<resultMap type="com.example.ProdTask" id="ProdTaskMapWithDInvChkTask">
<result property="taskCateg" column="ProdTask_CATEG" jdbcType="VARCHAR"/>
<result property="taskNo" column="ProdTaskTASK_NO" jdbcType="VARCHAR"/>
<association property="taskData" javaType="com.example.dyc.myofbatis.DInvChkTask">
<result property="taskId" column="TASK_ID" jdbcType="VARCHAR"/>
<result property="taskNo" column="TASK_NO" jdbcType="VARCHAR"/>
</association>
</resultMap>
<select id="queryByTaskNoWithDInvChkTask" resultMap="ProdTaskMapWithDInvChkTask">
select
<include refid="Base_Column_List_ProdTask"/>, <include refid="Base_Column_List_DInvChkTask"></include>
from T_PROD_TASK ProdTask left join D_INV_CHK_TASK d on ProdTask.TASK_NO = d.TASK_NO
where ProdTask.TASK_NO = #{taskNo}
</select>
2、一对多,collection和ofType
<resultMap type="com.example.ProdTask" id="ProdTaskMapWithDInvChkTask">
<result property="taskCateg" column="ProdTask_CATEG" jdbcType="VARCHAR"/>
<result property="taskNo" column="ProdTaskTASK_NO" jdbcType="VARCHAR"/>
<collection property="taskData" ofType="com.example.dyc.myofbatis.DInvChkTask">
<result property="taskId" column="TASK_ID" jdbcType="VARCHAR"/>
<result property="taskNo" column="TASK_NO" jdbcType="VARCHAR"/>
</collection >
</resultMap>
3、字段名重复问题
可以采用取别名的方式,对应的resultmap中column需要取别名。
4、参数映射
都采用@Param(),避免出问题