实现多表联合查询,需要对Mapper中的resultMap进行改造,如下(多对一):
<resultMap id="resultUserArticleList" type="Article">
<id property="id" column="aid" />
<result property="title" column="title" />
<result property="content" column="content" />
<association property="user" javaType="User">
<id property="id" column="id" />
<result property="userName" column="userName" />
<result property="userAddress" column="userAddress" />
</association>
</resultMap>
如上:association代表另外一张表,property="user"代表在Article中的属性名,javaType="User"代表映射的实体类。
另外一种写法如下:
<resultMap id="resultUserArticleList-2" type="Article">
<id property="id" column="aid" />
<result property="title" column="title" />
<result property="content" column="content" />
<association property="user" javaType="User" resultMap="resultListUser" />
</resultMap>
resultMap="resultListUser"代表引用Mapper文件中的另一个resultMap。将 association 中对应的映射独立抽取出来,可以达到复用的目的。
<resultMap id="resultUserArticleList" type="Article">
<id property="id" column="aid" />
<result property="title" column="title" />
<result property="content" column="content" />
<association property="user" javaType="User">
<id property="id" column="id" />
<result property="userName" column="userName" />
<result property="userAddress" column="userAddress" />
</association>
</resultMap>
如上:association代表另外一张表,property="user"代表在Article中的属性名,javaType="User"代表映射的实体类。
另外一种写法如下:
<resultMap id="resultUserArticleList-2" type="Article">
<id property="id" column="aid" />
<result property="title" column="title" />
<result property="content" column="content" />
<association property="user" javaType="User" resultMap="resultListUser" />
</resultMap>
resultMap="resultListUser"代表引用Mapper文件中的另一个resultMap。将 association 中对应的映射独立抽取出来,可以达到复用的目的。