mybatis foreach查询时遇到list的处理

@Override
public ServiceResult<List<Recipe>> queryRecipeInfo(int matId, List<Integer> recipeTypeIdList,
  List<Integer> versionStatusList, String recipeCode, String recipeName, int iuid) {
 ServiceResult<List<Recipe>> result = new ServiceResult<>();
 try {

  Map<String,Object> map = new HashMap<>();
  map.put("matId",matId); //产品代码id

  map.put("recipeTypeIdList", recipeTypeIdList); //配方
  map.put("versionStatusList",versionStatusList);

  recipeCode = SymbolChange.changeSymbol(recipeCode);
  recipeName = SymbolChange.changeSymbol(recipeName);

  map.put("recipeCode",recipeCode);//配方代码
  map.put("recipeName",recipeName);//配方名称

  List<Recipe> recipeList = recipeDao.queryRecipeInfo(map);

  result.setData(recipeList);
  result.setErrorCode(0);
  logger.info("[INF257500216] 查询配方信息成功!");
  return result;


<trim prefix="where" suffixOverrides="and">
 <if test="recipeCode != null and recipeCode != ''">
  r.code like #{recipeCode} and
 </if>
 <if test="recipeName != null and recipeName != ''">
  r.name like #{recipeName} and
 </if>
 <if test="matId != 0">
  r.mat_id = #{matId} and
 </if>
 <if test="recipeTypeIdList != null and recipeTypeIdList.size != 0 ">
  r.type_id in
  <foreach collection="recipeTypeIdList" item="typeId" open="(" close=")" separator="," index="index">
   #{typeId}
  </foreach>
   and
 </if>
 <if test="versionStatusList != null and versionStatusList.size != 0">
  os.id in
  <foreach collection="versionStatusList" item="statusId" open="(" close=")" separator="," index="index">
   #{statusId}
  </foreach>
   and
 </if>
</trim>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值