mybatis关联查询的问题。 50
Bolg和Comment一对多关系,查Blog关联查询其对应的Comment列表时,xml怎么配置,如下<selectid="selectCommentsByBlog"p...
Bolg和Comment一对多关系,查Blog关联查询其对应的Comment列表时,xml怎么配置,如下
<select id="selectCommentsByBlog" parameterType="Blog(此处为复杂对象)" resultType="Comment">
select * from t_comment
where 1=1
<if test="id!=null">
blog = #{id} <!--Blog类中的id属性 -->
</if>
</select>
<resultMap type="Blog" id="BlogResult">
<id column="id" property="id"/>
<collection property="comments" select="selectCommentsByBlog" column="id(希望赋值给selectCommentsByBlog的Bolg类型查询参数)" ofType="Comment"></collection>
</resultMap>
<resultMap type="Comment" id="CommentResult">
<association property="blog" javaType="Blog" column="blog" select="selectBlog"/>
</resultMap>
<select id="selectBlog" parameterType="int" resultMap="BlogResult">
select * from t_blog where id = #{id}
</select>
我这么写老报错。 展开
<select id="selectCommentsByBlog" parameterType="Blog(此处为复杂对象)" resultType="Comment">
select * from t_comment
where 1=1
<if test="id!=null">
blog = #{id} <!--Blog类中的id属性 -->
</if>
</select>
<resultMap type="Blog" id="BlogResult">
<id column="id" property="id"/>
<collection property="comments" select="selectCommentsByBlog" column="id(希望赋值给selectCommentsByBlog的Bolg类型查询参数)" ofType="Comment"></collection>
</resultMap>
<resultMap type="Comment" id="CommentResult">
<association property="blog" javaType="Blog" column="blog" select="selectBlog"/>
</resultMap>
<select id="selectBlog" parameterType="int" resultMap="BlogResult">
select * from t_blog where id = #{id}
</select>
我这么写老报错。 展开
3个回答
展开全部
<collection column="id" property="实体中的属性名" javaType="ArrayList" select="目标select语句" />
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以把两个表连接查询让后用groupby分组解决,这样还能避免n+1问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询