php中文网

MyBatis Plus 如何精准匹配 JSON 数据中的纯数组和对象数组?

php中文网

在 mybatis plus 中精准匹配纯数组和对象数组

mybatis plus 是一款优秀的 orm 框架,但在匹配 json 数据时,其默认的 like 方法可能存在误匹配的情况,特别是当需要精准匹配纯数组或对象数组时。

纯数组匹配

对于纯数组,可以使用 mysql 5.7.8 及以上版本提供的 json_contains 函数:

wrapper.and(new consumer<querywrapper<object>>() {
    @override
    public void accept(querywrapper<object> wrapper) {
        wrapper.last("json_contains(goods_tips_id_list, '"" + tipid + "")");
    }
});

对象数组匹配

对于对象数组,需要将 json 数据解析为 java 对象数组,然后使用 in 方法进行匹配:

List<Long> idList = Arrays.asList(1615226392250040321L, 1617784249885577217L, 1617784414117744641L);
wrapper.in("goods_tips_id_list", idList);

通过使用这些方法,可以精准匹配纯数组和对象数组,避免误匹配的情况。

以上就是MyBatis Plus 如何精准匹配 JSON 数据中的纯数组和对象数组?的详细内容,更多请关注php中文网其它相关文章!