Mybatis 的foreach 可以嵌套吗?Mybatis 的foreach 可以嵌套吗?

Mybatis 的foreach 可以嵌套吗?


  1. http://code.google.com/p/mybatis/source/browse/trunk/src/test/java/org/apache/ibatis/submitted/nested/?r=3467  
  2.   
  3. Junit Test  
  4. NestedForEachTest.java  
  5. 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嵌套查询成功!

相关文章:

  • 2022-12-23
  • 2021-09-29
  • 2022-12-23
  • 2023-03-15
  • 2021-11-08
  • 2022-01-25
猜你喜欢
  • 2019-11-11
  • 2022-12-23
  • 2023-03-20
  • 2021-10-12
相关资源
相似解决方案