直接上代码:
两个映射配置文件: Customer.xml  和 Address.xml  Customer.xml  
<mapper namespace="com.liyan.mybatis.po.Customer">
    <resultMap type="com.liyan.mybatis.po.Customer" id="customerResult">
<id property="id" column="id" javaType="int" jdbcType="INTEGER"/>

<result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>

<association property="address" column="id_address" select="selectAddress" >
</association>



</resultMap> <select id="selectCustomer" parameterType="String" resultMap="customerResult" >
select * from customer as c left join 
 Address as a on c.id_address=a.id
where c.name=#{name}  
</select>Address.xml  <mapper namespace="com.liyan.mybatis.po.Address">
<resultMap type="com.liyan.mybatis.po.Address" id="addressResult">
<id property="id" column="id" javaType="int" jdbcType="INTEGER"/>
<result property="stress" column="stress" javaType="String" jdbcType="VARCHAR"/>
<result property="city" column="city" javaType="String" jdbcType="VARCHAR"/>

</resultMap>

</mapper>现在我的PO类都已经写好了,映射的对象也有了有了  可就是抛  Mapped Statements collection does not contain value for com.liyan.mybatis.po.Customer.selectAddress
怎么解决啊... 第一次用Mybatis 小弟不太明白 resultMap到底是干什么的...

解决方案 »

  1.   

    看这个custmomer.xml  刚才那个用的select联合的版本 这个才是 <mapper namespace="com.liyan.mybatis.po.Customer">
        <resultMap type="com.liyan.mybatis.po.Customer" id="customerResult">
    <id property="id" column="id" javaType="int" jdbcType="INTEGER"/>

    <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>

    <association property="address" column="id_address" resultMap="addressResult" >
    </association>

    </resultMap> <select id="selectCustomer" parameterType="String" resultMap="customerResult" >
    select * from customer as c left join 
     Address as a on c.id_address=a.id
    where c.name=#{name}  
    </select></mapper>