mybaties 批量模糊查询、foreach string[]用法

List<Recipe> randomRecipe(@Param("str")String[] strs,@Param("num")int num);

功能:随机查询num个不含strs[]的的Recipe

注:str:["苹果","甘蓝"]   num:5

<select id="randomRecipe" resultType="cn.jwm.onMK.po.Recipe">
         select* from recipestable 
         <where>
                 mainmaterialname not like 
                 <foreach item="str" index="index" collection="str" open="(" separator="AND" close=")">
                 CONCAT('%',#{str},'%')
                 </foreach>
         </where>
         order by rand() 
         limit #{num}
      </select>

 

DEBUG [http-nio-8080-exec-3] - ==>  Preparing: select* from recipestable WHERE mainmaterialname not like ( CONCAT('%',?,'%') AND CONCAT('%',?,'%') ) order by rand() limit ?
DEBUG [http-nio-8080-exec-3] - ==> Parameters: 甘蓝(String), 苹果(String), 5(Integer)

结合log输出    注意(   )的含义 和 and 用法

 

posted @ 2020-05-24 16:26  夏日摩卡  阅读(1812)  评论(0编辑  收藏  举报