Skip to content
    /** 查询 task_config 表中 config id对应的位置  添加数据库🔒 */
    @Select("SELECT json_search( config, 'one', #{jsonId} ) FROM task_config WHERE type = 4 FOR UPDATE")
    String selectByJsonId(String jsonId);

    /**
     * UPDATE task_config SET config = JSON_INSERT( config, CONCAT( '$[', JSON_LENGTH( config )+ 1, ']' ), CAST('{"id":3}' AS JSON)) WHERE type = 4
     * 添加配置
     *
     * @param json '{"id":3,"xxx":"xxx"}'
     */
    @Update("UPDATE task_config SET config = JSON_INSERT( config, CONCAT( '$[', JSON_LENGTH( config ) + 1, ']' ), CAST(${json} AS JSON)) WHERE type = 4")
    Integer insertConfig(String json);

    /**
     * UPDATE task_config SET config = JSON_REPLACE(config, '$[0].indexPatterns','ssss' ) WHERE type = 4
     * 更新对应位置的配置
     *
     * @param sql '$[0].indexPatterns','ssss'
     */
    @Update("UPDATE task_config SET config = JSON_REPLACE(config, ${sql} ) WHERE type = 4")
    Integer updateJsonConfig(String sql);

    /**
     * UPDATE task_config SET config = JSON_REMOVE( config, '$[0]' ) WHERE type = 4
     * 删除对应位置的配置
     *
     * @param pos '$[0]'
     */
    @Update("UPDATE task_config SET config = JSON_REMOVE( config, #{pos} ) WHERE type = 4")
    Integer deleteJsonConfigByPos(String pos);

文章来源于自己总结和网络转载,内容如有任何问题,请大佬斧正!联系我