如何在MyBatis中查询关联或集合对象

时间:2015-11-23 02:45:11

标签: java mybatis

这是我的情况。

我有两个类,比如它们是A类和B类.A类有一个B的引用,所以当我尝试获取A类和B类中的所有列时,我使用了关联标记MyBatis配置,看起来像这样。

<association property="b" column="id"
                 javaType="com.xx.B"
                 select="getBinfo"></association>

获取A:

信息的配置
<select id="list" parameterType="Map" resultMap="A">
    select * from A
</select>

获取B信息的那个:

<select id="getBinfo" parameterType="Map" resultMap="B">
    select * from B where id = #{id}
</select>

它可以很好地将所有列都放入我的bean中,即A在这里,正确填写B信息。

我的问题是,我可以为where添加id="list"条件来使用A中的属性过滤结果,如果我想用B中的属性过滤它,该怎么办?我该怎么办?

我尝试使用B中的列为where添加id="list"条件,并使用Map传递参数。但是异常显示该属性未设置。

如果有人能提供帮助,我们表示感激。

1 个答案:

答案 0 :(得分:0)

你可以使用

<association property="b" resultMap="bReusltMap" />

并加入表格b并添加你的where条件。