mysql中定义 json 格式的字段, 在 Spring 中定义 字段:
private JSON tags;
POSTMAN中 可以传: "tags":["aaa"] 或者 "tags":{"qq":"111"} 。
如果 mysql 中的 tags 定义json, 存储的是 json数组,例如: ["test"] ,则 在 spring 中可以定义字段:
private JSON tags; 或者 private JSONArray tags;
查询 tags 中是否包含某个 字符串:
<select id="queryAllPage" resultMap="TtProductContentMap"> select <include refid="resultColumn"/> from lesmart_cms.tt_product_content <where> <if test="productMode != null and productMode !=''">and product_mode = #{productMode}</if> <if test="terminalType != null and terminalType !=''">and terminal_type = #{terminalType}</if> <if test="keyWord != null and keyWord !=''"> and ( title like concat('%',#{keyWord},'%') or JSON_LENGTH(tags) = 0 or JSON_CONTAINS(tags, JSON_ARRAY(#{keyWord})) ) </if> </where> </select>
查询出的结果: