Mybatis Plus 中如何精準(zhǔn)匹配純數(shù)組和對(duì)象數(shù)組?

Mybatis Plus 中如何精準(zhǔn)匹配純數(shù)組和對(duì)象數(shù)組?

mybatis plus精準(zhǔn)匹配純數(shù)組和對(duì)象數(shù)組

在 mybatis plus 中,匹配數(shù)組需要考慮數(shù)組的類型,分為純數(shù)組和對(duì)象數(shù)組。

純數(shù)組

純數(shù)組是指元素類型為基本類型(如 intFloat)的數(shù)組。對(duì)于純數(shù)組,可以使用 like 方法進(jìn)行匹配,但是需要注意潛在的不精確匹配問(wèn)題。推薦使用數(shù)據(jù)庫(kù)原生 json 支持函數(shù)進(jìn)行精確匹配。例如,在 mysql 中可以使用 json_contains 函數(shù):

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 + "')");     } });

對(duì)象數(shù)組

對(duì)象數(shù)組是指元素類型為對(duì)象的數(shù)組。對(duì)于對(duì)象數(shù)組,無(wú)法直接使用 like 方法進(jìn)行匹配。需要根據(jù)對(duì)象屬性進(jìn)行單獨(dú)匹配。例如:

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

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊5 分享