mybatis foreach查詢時遇到list的處理
阿新 • • 發佈:2019-01-03
@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 = newHashMap<>(); 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>