1. 程式人生 > >mybatis foreach查詢時遇到list的處理

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>