编写mapper.xml:
<mapper namespace="com.qi.mapper.BookFriendMapper">
<resultMap type="bookFriend" id="FriendWithTypeResult">
<id column="friend_id" property="friend_id"/>
<result column="friend_name" property="friend_name"/>
<result column="friend_sex" property="friend_sex"/>
<result column="book_type_id" property="book_type_id"/>
<result column="friend_phone" property="friend_phone"/>
<!-- 一对一关系,使用association属性可以帮我引入一个SQL语句 -->
<association property="bookType" javaType="bookType" column="book_type_id" select="com.qi.mapper.BookTypeMapper.findTypeByID"/>
</resultMap>
<!-- 查询所有书友信息 -->
<select id="findAllFriend" resultMap="FriendWithTypeResult">
select * from book_friend
</select>
</mapper>
<mapper namespace="com.qi.mapper.BookTypeMapper">
<!-- 根据id查风格 -->
<select id="findTypeByID" resultType="bookType" parameterType="Integer">
select * from book_type where book_type_id = #{book_type_id}
</select>
</mapper>
controller接口:
//查询所有书友信息
@RequestMapping("/findAllFriend")
public String findAllFriend() {
List<BookFriend> bookFriendList = bookFriendService.findAllFriend();
return JsonUtils.getJson(bookFriendList);
}
结果:
总结:主要就是mapper.xml中resultMap对应关系搞明白即可。