<resultMap type="com.tangyuewei.model.Question" id="my_map">
<id column="id" property="id"/>
<result column="content" property="content"/>
<association property="questionUser" column="userId" javaType="com.tangyuewei.model.user.UserInfo">
<id column="userId" property="id"/>
<result column="mobile" property="mobile"/>
<result column="nickname" property="nickname"/>
</association>
<collection property="reply" ofType="com.tangyuewei.model.Reply" column="replyId" select="com.tangyuewei.model.Reply.getReply">
</collection>
</resultMap>
<select id="getQuestion" resultMap="my_map" parameterType="com.tangyuewei.model.Question">
select
tq.id,
tq.content,
tq.user_id userId,
tq.reply_id replyId,
tub.mobile mobile,
tub.nickname nickname
from tb_question left tq join tb_user_info tub on tq.user_id = tub.id
where id=#{id}
</select>
以上mybatis的mapper配置,将getQuestion查询方法返回的的对象拆分为3个,Question、UserInfo、Reply,并且collection 的配置会去Reply的mapper中找到id为getReply的查询方法返回数据。
欢迎访问个人主页: https://tangyuewei.com/