0
点赞
收藏
分享

微信扫一扫

Mybatis 的foreach 可以嵌套吗?


 

Mybatis 的foreach 可以嵌套吗?_xml

 

  1. ​​http://code.google.com/p/mybatis/source/browse/trunk/src/test/java/org/apache/ibatis/submitted/nested/?r=3467​​

1. 
2. Junit Test
3. NestedForEachTest.java
4. NestedForEach.xml

 

 

 

照着这个效果,我在自己的paohe项目xml中这样写

<select id="queryQualityCost" parameterType="com.itonghui.biz.qualityclient.model.QualityClient" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List" />
FROM spot_quality_cost
WHERE QUALITY_COST_ID IN
<foreach collection="qualitySampleinfoList" item="qualitySampleinfo" open="(" separator="," close=")" >
<foreach collection="qualitySampleinfo.qualityVarietyList" item="qualityVariety" separator="," >
#{qualityVariety.qualityCostId}
</foreach>
</foreach>
</select>java代码:
QualityClientServiceImpl.java:
QualityClient qualityClient = new QualityClient();
qualityClient.setQualitySampleinfoList(sampleInfoListTmp);
List<QualityCost> qualityCostList = qualityCostMapper.queryQualityCost(qualityClient); //获取最新的检测项费用

 

其中QualityClient.java   vo类有 private List<QualitySampleinfo> qualitySampleinfoList; //样品列表,

QualitySampleinfo.java vo类有 private List<QualityVariety> qualityVariety;

 

最终sql效果是

SELECT QUALITY_COST_ID, QUALITY_DESC_ID, QUALITY_CHECK_ID, INSPECT_ORGANIZATION
_ID, TESTING_COST, CHECK_TYPE, IS_STANDARD_SAMPLE, REMARK, ALIVE_FLAG FROM spot_quality_cost WHERE QUALITY_COS
T_ID IN ( ? , ? , ? , ? , ? , ? )

mybatis多个foreach嵌套查询成功!

举报

相关推荐

0 条评论