From f8935558453e4da6aeb2ed5f1f65dec4cf733377 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 30 Jun 2022 17:25:20 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AB=98=E7=BA=A7=E6=90=9C=E7=B4=A2--=E5=80=BC?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA=E7=9A=84=E6=97=B6=E5=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/system/query/QueryGenerator.java | 95 ++++++++++--------- 1 file changed, 50 insertions(+), 45 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java index 5a711c8d3..b8157a18c 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java @@ -486,53 +486,58 @@ public class QueryGenerator { } name = oConvertUtils.camelToUnderline(name); log.info("--查询规则-->"+name+" "+rule.getValue()+" "+value); - switch (rule) { - case GT: - queryWrapper.gt(name, value); - break; - case GE: - queryWrapper.ge(name, value); - break; - case LT: - queryWrapper.lt(name, value); - break; - case LE: - queryWrapper.le(name, value); - break; - case EQ: - case EQ_WITH_ADD: - queryWrapper.eq(name, value); - break; - case NE: - queryWrapper.ne(name, value); - break; - case IN: - if(value instanceof String) { - queryWrapper.in(name, (Object[])value.toString().split(",")); - }else if(value instanceof String[]) { - queryWrapper.in(name, (Object[]) value); + if(" is null ".equals(value)){ + queryWrapper.isNull(name); + }else{ + switch (rule) { + case GT: + queryWrapper.gt(name, value); + break; + case GE: + queryWrapper.ge(name, value); + break; + case LT: + queryWrapper.lt(name, value); + break; + case LE: + queryWrapper.le(name, value); + break; + case EQ: + case EQ_WITH_ADD: + queryWrapper.eq(name, value); + break; + case NE: + queryWrapper.ne(name, value); + break; + case IN: + if(value instanceof String) { + queryWrapper.in(name, (Object[])value.toString().split(",")); + }else if(value instanceof String[]) { + queryWrapper.in(name, (Object[]) value); + } + //update-begin-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671 + else if(value.getClass().isArray()) { + queryWrapper.in(name, (Object[])value); + }else { + queryWrapper.in(name, value); + } + //update-end-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671 + break; + case LIKE: + queryWrapper.like(name, value); + break; + case LEFT_LIKE: + queryWrapper.likeLeft(name, value); + break; + case RIGHT_LIKE: + queryWrapper.likeRight(name, value); + break; + default: + log.info("--查询规则未匹配到---"); + break; } - //update-begin-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671 - else if(value.getClass().isArray()) { - queryWrapper.in(name, (Object[])value); - }else { - queryWrapper.in(name, value); - } - //update-end-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671 - break; - case LIKE: - queryWrapper.like(name, value); - break; - case LEFT_LIKE: - queryWrapper.likeLeft(name, value); - break; - case RIGHT_LIKE: - queryWrapper.likeRight(name, value); - break; - default: - log.info("--查询规则未匹配到---"); - break; } + } /** *