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

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

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);

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

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享