JSON格式的字段


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>

查询出的结果:

 

 

 

 SQL

SELECT * FROM `member` m WHERE JSON_CONTAINS(tag, '["VIP"]')
SELECT * FROM `member` m WHERE JSON_CONTAINS(tag, JSON_ARRAY('VIP'))

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM