From 4f38519d72d70cd6b61231429153e12a0b527077 Mon Sep 17 00:00:00 2001 From: lingting Date: Tue, 30 Jan 2024 19:01:33 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E4=BF=AE=E5=A4=8DjsonContains=E4=B8=A2?= =?UTF-8?q?=E5=A4=B1JSON=5FARRAY=E5=85=B3=E9=94=AE=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatisplus/conditions/query/LambdaQueryWrapperX.java | 2 +- .../mybatisplus/conditions/query/LambdaQueryWrapperXTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mybatis-plus/ballcat-mybatis-plus/src/main/java/org/ballcat/mybatisplus/conditions/query/LambdaQueryWrapperX.java b/mybatis-plus/ballcat-mybatis-plus/src/main/java/org/ballcat/mybatisplus/conditions/query/LambdaQueryWrapperX.java index a15431efa..b2f600aa7 100644 --- a/mybatis-plus/ballcat-mybatis-plus/src/main/java/org/ballcat/mybatisplus/conditions/query/LambdaQueryWrapperX.java +++ b/mybatis-plus/ballcat-mybatis-plus/src/main/java/org/ballcat/mybatisplus/conditions/query/LambdaQueryWrapperX.java @@ -256,7 +256,7 @@ public LambdaQueryWrapperX jsonContains(SFunction column, Collection this.formatParam(null, i)) .collect(Collectors.joining(",", "(", ")")); - return String.format("%s(%s,%s)", keyword, field, content); + return String.format("%s(%s,JSON_ARRAY%s)", keyword, field, content); }); return this; } diff --git a/mybatis-plus/ballcat-mybatis-plus/src/test/java/org/ballcat/mybatisplus/conditions/query/LambdaQueryWrapperXTest.java b/mybatis-plus/ballcat-mybatis-plus/src/test/java/org/ballcat/mybatisplus/conditions/query/LambdaQueryWrapperXTest.java index 36476274c..9d785e865 100644 --- a/mybatis-plus/ballcat-mybatis-plus/src/test/java/org/ballcat/mybatisplus/conditions/query/LambdaQueryWrapperXTest.java +++ b/mybatis-plus/ballcat-mybatis-plus/src/test/java/org/ballcat/mybatisplus/conditions/query/LambdaQueryWrapperXTest.java @@ -43,10 +43,10 @@ void test() { new EqualsTo(column, new StringValue("ex2"))))); assertContains( - "JSON_CONTAINS(a.list,(#{ew.paramNameValuePairs.MPGENVAL1},#{ew.paramNameValuePairs.MPGENVAL2}))", + "JSON_CONTAINS(a.list,JSON_ARRAY(#{ew.paramNameValuePairs.MPGENVAL1},#{ew.paramNameValuePairs.MPGENVAL2}))", wrapper().jsonContainsIfPresent(Entity::getList, Arrays.asList("1", "2"))); assertContains( - " JSON_CONTAINS(a.list,(#{ew.paramNameValuePairs.MPGENVAL1},#{ew.paramNameValuePairs.MPGENVAL2})) AND", + " JSON_CONTAINS(a.list,JSON_ARRAY(#{ew.paramNameValuePairs.MPGENVAL1},#{ew.paramNameValuePairs.MPGENVAL2})) AND", wrapper().jsonContains(Entity::getList, "1", "2").eq(Entity::getString, "eq1")); }