1. 程式人生 > >【mybatis】欄位中儲存多個值用“,”隔開,如何查詢

【mybatis】欄位中儲存多個值用“,”隔開,如何查詢

目錄

做專案遇到這種情況,欄位中儲存多個值用“,”隔開。這種應該如何查詢呢。

做個簡單的例子:

表:

判斷一個值是否存在其中(FIND_IN_SET)

SELECT * FROM `t_cinema` WHERE FIND_IN_SET(1234,cinemas);

判斷多個值是否存在其中

方法一、foreach配合FIND_IN_SET

 <select id="selectPageByCondition" resultMap="BaseResultMap" parameterType="Map">
    SELECT
     *
    FROM
    t_cinema

    <where>

      <foreach collection="cinemas" item="listItem" open="(" close=")" separator="or" >
        find_in_set(${listItem},cinemas)
      </foreach>

    </where>

  </select>

方法二、REGEXP正則表示式

使用IN 的情況