Mybatis Plus 中如何精准匹配纯数组和对象数组?

mybatis plus 中如何精准匹配纯数组和对象数组?

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

mybatis plus 中,匹配数组需要考虑数组的类型,分为纯数组和对象数组。

纯数组

纯数组是指元素类型为基本类型(如 int、float)的数组。对于纯数组,可以使用 like 方法进行匹配,但是需要注意潜在的不精确匹配问题。推荐使用数据库原生 json 支持函数进行精确匹配。例如,在 mysql 中可以使用 json_contains 函数:

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

对象数组

对象数组是指元素类型为对象的数组。对于对象数组,无法直接使用 like 方法进行匹配。需要根据对象属性进行单独匹配。例如:

List<Long> tipIdList = new ArrayList<>();
tipIdList.add(1617784249885577217L);
tipIdList.add(1615226392250040321L);
wrapper.in("goods_tips_id_list", tipIdList);

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