From 5e77b71c038a0d7371f78f63aad7c1ad7da948a0 Mon Sep 17 00:00:00 2001 From: xuejiaming <326308290@qq.com> Date: Thu, 2 Nov 2023 10:58:23 +0800 Subject: [PATCH] =?UTF-8?q?1.6.1=20=E4=BF=AE=E5=A4=8Dbank=E5=92=8Cnotbank?= =?UTF-8?q?=20empty=E5=92=8Cnotempty=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- samples/console-demo/pom.xml | 8 ++--- samples/easy-query-solon-web/pom.xml | 6 ++-- samples/pom.xml | 4 +-- samples/solon-sharding-demo/pom.xml | 4 +-- samples/spring-sharding-demo/pom.xml | 4 +-- samples/springbootdemo/pom.xml | 6 ++-- sql-core/pom.xml | 2 +- .../query/core/expression/builder/Filter.java | 1 + .../parser/core/base/WherePredicate.java | 22 +++++++++--- .../ExpressionContextInterceptor.java | 6 ++++ .../com/easy/query/core/func/SQLFunc.java | 8 +++++ .../func/def/impl/NotBankSQLFunction.java | 35 +++++++++++++++++++ .../func/def/impl/NotEmptySQLFunction.java | 35 +++++++++++++++++++ sql-db-support/pom.xml | 2 +- sql-db-support/sql-dameng/pom.xml | 2 +- sql-db-support/sql-h2/pom.xml | 2 +- sql-db-support/sql-kingbase-es/pom.xml | 2 +- sql-db-support/sql-mssql/pom.xml | 2 +- sql-db-support/sql-mysql/pom.xml | 2 +- sql-db-support/sql-oracle/pom.xml | 2 +- sql-db-support/sql-pgsql/pom.xml | 2 +- sql-db-support/sql-sqlite/pom.xml | 2 +- sql-extension/pom.xml | 2 +- .../sql-kt-springboot-starter/pom.xml | 2 +- sql-extension/sql-solon-plugin/pom.xml | 2 +- sql-extension/sql-springboot-starter/pom.xml | 2 +- sql-platform/pom.xml | 2 +- sql-platform/sql-api-proxy/pom.xml | 2 +- .../easy/query/api/proxy/sql/ProxyFilter.java | 22 +++++++++--- sql-platform/sql-api4j/pom.xml | 2 +- sql-platform/sql-api4kt/pom.xml | 2 +- sql-processor/pom.xml | 2 +- sql-test/pom.xml | 4 +-- .../java/com/easy/query/test/QueryTest7.java | 18 +++++----- 35 files changed, 168 insertions(+), 55 deletions(-) create mode 100644 sql-core/src/main/java/com/easy/query/core/func/def/impl/NotBankSQLFunction.java create mode 100644 sql-core/src/main/java/com/easy/query/core/func/def/impl/NotEmptySQLFunction.java diff --git a/pom.xml b/pom.xml index 685a78314..e224662ce 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ com.easy-query easy-query-all pom - 1.6.0 + 1.6.1 easy-query java object query distributed connector https://github.com/xuejmnet/easy-query diff --git a/samples/console-demo/pom.xml b/samples/console-demo/pom.xml index 234e71a8d..bc7b754f9 100644 --- a/samples/console-demo/pom.xml +++ b/samples/console-demo/pom.xml @@ -6,7 +6,7 @@ com.easy-query samples - 1.6.0 + 1.6.1 console-demo @@ -22,21 +22,21 @@ com.easy-query sql-mysql - 1.6.0 + 1.6.1 compile com.easy-query sql-processor - 1.6.0 + 1.6.1 compile com.easy-query sql-api-proxy - 1.6.0 + 1.6.1 compile diff --git a/samples/easy-query-solon-web/pom.xml b/samples/easy-query-solon-web/pom.xml index 2a8fcacbb..3e9128a6f 100644 --- a/samples/easy-query-solon-web/pom.xml +++ b/samples/easy-query-solon-web/pom.xml @@ -6,7 +6,7 @@ com.easy-query samples - 1.6.0 + 1.6.1 com.easy.query.solon @@ -22,13 +22,13 @@ com.easy-query sql-solon-plugin - 1.6.0 + 1.6.1 compile com.easy-query sql-processor - 1.6.0 + 1.6.1 compile diff --git a/samples/pom.xml b/samples/pom.xml index 7a2ad3908..658f94e65 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -5,7 +5,7 @@ easy-query-all com.easy-query - 1.6.0 + 1.6.1 4.0.0 @@ -43,7 +43,7 @@ com.easy-query sql-springboot-starter - 1.6.0 + 1.6.1 compile diff --git a/samples/solon-sharding-demo/pom.xml b/samples/solon-sharding-demo/pom.xml index eb389097b..df90d2276 100644 --- a/samples/solon-sharding-demo/pom.xml +++ b/samples/solon-sharding-demo/pom.xml @@ -6,7 +6,7 @@ com.easy-query samples - 1.6.0 + 1.6.1 com.easy.query @@ -22,7 +22,7 @@ com.easy-query sql-solon-plugin - 1.6.0 + 1.6.1 compile diff --git a/samples/spring-sharding-demo/pom.xml b/samples/spring-sharding-demo/pom.xml index 3bb5af53a..a8f88c234 100644 --- a/samples/spring-sharding-demo/pom.xml +++ b/samples/spring-sharding-demo/pom.xml @@ -55,13 +55,13 @@ com.easy-query sql-processor - 1.6.0 + 1.6.1 compile com.easy-query sql-springboot-starter - 1.6.0 + 1.6.1 compile diff --git a/samples/springbootdemo/pom.xml b/samples/springbootdemo/pom.xml index 24e44efa2..385668707 100644 --- a/samples/springbootdemo/pom.xml +++ b/samples/springbootdemo/pom.xml @@ -74,19 +74,19 @@ com.easy-query sql-core - 1.6.0 + 1.6.1 compile com.easy-query sql-api4j - 1.6.0 + 1.6.1 compile com.easy-query sql-springboot-starter - 1.6.0 + 1.6.1 compile diff --git a/sql-core/pom.xml b/sql-core/pom.xml index c7c2f0625..83dbcf789 100644 --- a/sql-core/pom.xml +++ b/sql-core/pom.xml @@ -5,7 +5,7 @@ easy-query-all com.easy-query - 1.6.0 + 1.6.1 4.0.0 diff --git a/sql-core/src/main/java/com/easy/query/core/expression/builder/Filter.java b/sql-core/src/main/java/com/easy/query/core/expression/builder/Filter.java index b4d4065c8..f520a4cde 100644 --- a/sql-core/src/main/java/com/easy/query/core/expression/builder/Filter.java +++ b/sql-core/src/main/java/com/easy/query/core/expression/builder/Filter.java @@ -416,6 +416,7 @@ default Filter lt(TableAvailable tableLeft, SQLFunction sqlFunctionLeft, TableAv Filter funcColumnFilter(TableAvailable tableLeft, SQLFunction sqlFunctionLeft, TableAvailable tableRight, SQLFunction sqlFunctionRight, SQLPredicateCompare sqlPredicateCompare); + //endregion Filter and(); diff --git a/sql-core/src/main/java/com/easy/query/core/expression/parser/core/base/WherePredicate.java b/sql-core/src/main/java/com/easy/query/core/expression/parser/core/base/WherePredicate.java index 0dee56a3f..1fcd52a2d 100644 --- a/sql-core/src/main/java/com/easy/query/core/expression/parser/core/base/WherePredicate.java +++ b/sql-core/src/main/java/com/easy/query/core/expression/parser/core/base/WherePredicate.java @@ -17,6 +17,8 @@ import com.easy.query.core.expression.parser.core.base.core.filter.SubQueryPredicate; import com.easy.query.core.expression.parser.core.base.core.filter.ValuePredicate; import com.easy.query.core.expression.parser.core.base.core.filter.ValuesPredicate; +import com.easy.query.core.expression.parser.core.base.scec.core.SQLNativeChainExpressionContextImpl; +import com.easy.query.core.func.SQLFunction; /** * @author xuejiaming @@ -88,7 +90,10 @@ default WherePredicate or(WherePredicate t2WherePredicate, SQLExpre @Override default WherePredicate isBank(boolean condition, String property) { if (condition) { - getFilter().eq(getTable(), fx().bank(property), ""); + SQLFunction bank = fx().bank(property); + getFilter().sqlNativeSegment(bank.sqlSegment(getTable()),c->{ + bank.consume(new SQLNativeChainExpressionContextImpl(getTable(),c)); + }); } return this; } @@ -96,14 +101,20 @@ default WherePredicate isBank(boolean condition, String property) { @Override default WherePredicate isNotBank(boolean condition, String property) { if (condition) { - getFilter().ne(getTable(), fx().bank(property), ""); + SQLFunction bank = fx().notBank(property); + getFilter().sqlNativeSegment(bank.sqlSegment(getTable()),c->{ + bank.consume(new SQLNativeChainExpressionContextImpl(getTable(),c)); + }); } return this; } @Override default WherePredicate isEmpty(boolean condition, String property) { if (condition) { - getFilter().eq(getTable(), fx().empty(property), ""); + SQLFunction bank = fx().empty(property); + getFilter().sqlNativeSegment(bank.sqlSegment(getTable()),c->{ + bank.consume(new SQLNativeChainExpressionContextImpl(getTable(),c)); + }); } return this; } @@ -111,7 +122,10 @@ default WherePredicate isEmpty(boolean condition, String property) { @Override default WherePredicate isNotEmpty(boolean condition, String property) { if (condition) { - getFilter().ne(getTable(), fx().empty(property), ""); + SQLFunction bank = fx().notEmpty(property); + getFilter().sqlNativeSegment(bank.sqlSegment(getTable()),c->{ + bank.consume(new SQLNativeChainExpressionContextImpl(getTable(),c)); + }); } return this; } diff --git a/sql-core/src/main/java/com/easy/query/core/expression/sql/builder/internal/ExpressionContextInterceptor.java b/sql-core/src/main/java/com/easy/query/core/expression/sql/builder/internal/ExpressionContextInterceptor.java index 8c3e39575..9f1eb499f 100644 --- a/sql-core/src/main/java/com/easy/query/core/expression/sql/builder/internal/ExpressionContextInterceptor.java +++ b/sql-core/src/main/java/com/easy/query/core/expression/sql/builder/internal/ExpressionContextInterceptor.java @@ -54,6 +54,12 @@ public boolean useContains(String name){ } return useInterceptors.contains(name); } + + /** + * 不代表不包含,表示不使用的拦截器里面是否包含 + * @param name + * @return + */ public boolean noContains(String name){ if(noInterceptors==null){ return false; diff --git a/sql-core/src/main/java/com/easy/query/core/func/SQLFunc.java b/sql-core/src/main/java/com/easy/query/core/func/SQLFunc.java index a5e76d77e..c0e5b276c 100644 --- a/sql-core/src/main/java/com/easy/query/core/func/SQLFunc.java +++ b/sql-core/src/main/java/com/easy/query/core/func/SQLFunc.java @@ -7,6 +7,8 @@ import com.easy.query.core.func.column.ColumnFuncSelectorImpl; import com.easy.query.core.func.def.impl.BankSQLFunction; import com.easy.query.core.func.def.impl.EmptySQLFunction; +import com.easy.query.core.func.def.impl.NotBankSQLFunction; +import com.easy.query.core.func.def.impl.NotEmptySQLFunction; import com.easy.query.core.util.EasyArrayUtil; import java.util.ArrayList; @@ -212,8 +214,14 @@ default SQLFunction concat(SQLExpression1 sqlExpression) { default SQLFunction bank(String property){ return new BankSQLFunction(property); } + default SQLFunction notBank(String property){ + return new NotBankSQLFunction(property); + } default SQLFunction empty(String property){ return new EmptySQLFunction(property); } + default SQLFunction notEmpty(String property){ + return new NotEmptySQLFunction(property); + } } diff --git a/sql-core/src/main/java/com/easy/query/core/func/def/impl/NotBankSQLFunction.java b/sql-core/src/main/java/com/easy/query/core/func/def/impl/NotBankSQLFunction.java new file mode 100644 index 000000000..a583771a1 --- /dev/null +++ b/sql-core/src/main/java/com/easy/query/core/func/def/impl/NotBankSQLFunction.java @@ -0,0 +1,35 @@ +package com.easy.query.core.func.def.impl; + +import com.easy.query.core.expression.parser.core.available.TableAvailable; +import com.easy.query.core.expression.parser.core.base.scec.core.SQLNativeChainExpressionContext; +import com.easy.query.core.func.def.AbstractSQLFunction; + +/** + * create time 2023/10/28 15:00 + * 文件说明 + * + * @author xuejiaming + */ +public class NotBankSQLFunction extends AbstractSQLFunction { + private final String property; + + public NotBankSQLFunction(String property) { + + this.property = property; + } + + @Override + public String sqlSegment(TableAvailable defaultTable) { + return "({0} IS NOT NULL AND {0} <> '' AND LTRIM({0}) <> '')"; + } + + @Override + public int paramMarks() { + return 1; + } + + @Override + protected void consume0(SQLNativeChainExpressionContext context) { + context.expression(this.property); + } +} diff --git a/sql-core/src/main/java/com/easy/query/core/func/def/impl/NotEmptySQLFunction.java b/sql-core/src/main/java/com/easy/query/core/func/def/impl/NotEmptySQLFunction.java new file mode 100644 index 000000000..8caacff4b --- /dev/null +++ b/sql-core/src/main/java/com/easy/query/core/func/def/impl/NotEmptySQLFunction.java @@ -0,0 +1,35 @@ +package com.easy.query.core.func.def.impl; + +import com.easy.query.core.expression.parser.core.available.TableAvailable; +import com.easy.query.core.expression.parser.core.base.scec.core.SQLNativeChainExpressionContext; +import com.easy.query.core.func.def.AbstractSQLFunction; + +/** + * create time 2023/10/28 15:00 + * 文件说明 + * + * @author xuejiaming + */ +public class NotEmptySQLFunction extends AbstractSQLFunction { + private final String property; + + public NotEmptySQLFunction(String property) { + + this.property = property; + } + + @Override + public String sqlSegment(TableAvailable defaultTable) { + return "({0} IS NOT NULL AND {0} <> '')"; + } + + @Override + public int paramMarks() { + return 1; + } + + @Override + protected void consume0(SQLNativeChainExpressionContext context) { + context.expression(this.property); + } +} diff --git a/sql-db-support/pom.xml b/sql-db-support/pom.xml index 7c78b209d..314187140 100644 --- a/sql-db-support/pom.xml +++ b/sql-db-support/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 sql-db-support diff --git a/sql-db-support/sql-dameng/pom.xml b/sql-db-support/sql-dameng/pom.xml index e8cc47687..83fb83182 100644 --- a/sql-db-support/sql-dameng/pom.xml +++ b/sql-db-support/sql-dameng/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 ../../pom.xml diff --git a/sql-db-support/sql-h2/pom.xml b/sql-db-support/sql-h2/pom.xml index 8d05bee57..8f0ea533d 100644 --- a/sql-db-support/sql-h2/pom.xml +++ b/sql-db-support/sql-h2/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 ../../pom.xml diff --git a/sql-db-support/sql-kingbase-es/pom.xml b/sql-db-support/sql-kingbase-es/pom.xml index bad24c16d..cc7d373c2 100644 --- a/sql-db-support/sql-kingbase-es/pom.xml +++ b/sql-db-support/sql-kingbase-es/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 ../../pom.xml sql-kingbase-es diff --git a/sql-db-support/sql-mssql/pom.xml b/sql-db-support/sql-mssql/pom.xml index 04482425e..255b26b03 100644 --- a/sql-db-support/sql-mssql/pom.xml +++ b/sql-db-support/sql-mssql/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 ../../pom.xml diff --git a/sql-db-support/sql-mysql/pom.xml b/sql-db-support/sql-mysql/pom.xml index 618381f51..61d06d9d3 100644 --- a/sql-db-support/sql-mysql/pom.xml +++ b/sql-db-support/sql-mysql/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 ../../pom.xml diff --git a/sql-db-support/sql-oracle/pom.xml b/sql-db-support/sql-oracle/pom.xml index 6a8140d16..5e398b3b2 100644 --- a/sql-db-support/sql-oracle/pom.xml +++ b/sql-db-support/sql-oracle/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 ../../pom.xml diff --git a/sql-db-support/sql-pgsql/pom.xml b/sql-db-support/sql-pgsql/pom.xml index 01e910bc4..81b326c9e 100644 --- a/sql-db-support/sql-pgsql/pom.xml +++ b/sql-db-support/sql-pgsql/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 ../../pom.xml diff --git a/sql-db-support/sql-sqlite/pom.xml b/sql-db-support/sql-sqlite/pom.xml index dd79fe457..47da5f93f 100644 --- a/sql-db-support/sql-sqlite/pom.xml +++ b/sql-db-support/sql-sqlite/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 ../../pom.xml diff --git a/sql-extension/pom.xml b/sql-extension/pom.xml index e599a6c22..3c6204974 100644 --- a/sql-extension/pom.xml +++ b/sql-extension/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 sql-extension diff --git a/sql-extension/sql-kt-springboot-starter/pom.xml b/sql-extension/sql-kt-springboot-starter/pom.xml index a27999de4..0d75084b5 100644 --- a/sql-extension/sql-kt-springboot-starter/pom.xml +++ b/sql-extension/sql-kt-springboot-starter/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 ../../pom.xml diff --git a/sql-extension/sql-solon-plugin/pom.xml b/sql-extension/sql-solon-plugin/pom.xml index ca52f0de9..c65cfff3c 100644 --- a/sql-extension/sql-solon-plugin/pom.xml +++ b/sql-extension/sql-solon-plugin/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 ../../pom.xml diff --git a/sql-extension/sql-springboot-starter/pom.xml b/sql-extension/sql-springboot-starter/pom.xml index a6c797d9d..d7dd205d5 100644 --- a/sql-extension/sql-springboot-starter/pom.xml +++ b/sql-extension/sql-springboot-starter/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 ../../pom.xml diff --git a/sql-platform/pom.xml b/sql-platform/pom.xml index 0ed45dddb..c5286d8b0 100644 --- a/sql-platform/pom.xml +++ b/sql-platform/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 sql-platform diff --git a/sql-platform/sql-api-proxy/pom.xml b/sql-platform/sql-api-proxy/pom.xml index e24a16970..f5b4f6081 100644 --- a/sql-platform/sql-api-proxy/pom.xml +++ b/sql-platform/sql-api-proxy/pom.xml @@ -6,7 +6,7 @@ com.easy-query sql-platform - 1.6.0 + 1.6.1 sql-api-proxy diff --git a/sql-platform/sql-api-proxy/src/main/java/com/easy/query/api/proxy/sql/ProxyFilter.java b/sql-platform/sql-api-proxy/src/main/java/com/easy/query/api/proxy/sql/ProxyFilter.java index cdd12f4a9..f246559bf 100644 --- a/sql-platform/sql-api-proxy/src/main/java/com/easy/query/api/proxy/sql/ProxyFilter.java +++ b/sql-platform/sql-api-proxy/src/main/java/com/easy/query/api/proxy/sql/ProxyFilter.java @@ -16,6 +16,8 @@ import com.easy.query.core.enums.SQLPredicateCompare; import com.easy.query.core.expression.builder.Filter; import com.easy.query.core.expression.lambda.SQLExpression1; +import com.easy.query.core.expression.parser.core.base.scec.core.SQLNativeChainExpressionContextImpl; +import com.easy.query.core.func.SQLFunction; import com.easy.query.core.proxy.ProxyEntity; import com.easy.query.core.proxy.SQLColumn; @@ -105,7 +107,10 @@ default ProxyFilter or(boolean condition, SQLExpression1 proxyFilte @Override default , T> ProxyFilter isBank(boolean condition, SQLColumn column) { if(condition){ - getFilter().eq(column.getTable(),fx().getSQLFunc().bank(column.value()),""); + SQLFunction bank = fx().getSQLFunc().bank(column.value()); + getFilter().sqlNativeSegment(bank.sqlSegment(column.getTable()),c->{ + bank.consume(new SQLNativeChainExpressionContextImpl(column.getTable(),c)); + }); } return this; } @@ -113,7 +118,10 @@ default , T> ProxyFilter isBank(boolean co @Override default , T> ProxyFilter isNotBank(boolean condition, SQLColumn column) { if(condition){ - getFilter().ne(column.getTable(),fx().getSQLFunc().bank(column.value()),""); + SQLFunction bank = fx().getSQLFunc().notBank(column.value()); + getFilter().sqlNativeSegment(bank.sqlSegment(column.getTable()),c->{ + bank.consume(new SQLNativeChainExpressionContextImpl(column.getTable(),c)); + }); } return this; } @@ -121,7 +129,10 @@ default , T> ProxyFilter isNotBank(boolean @Override default , T> ProxyFilter isEmpty(boolean condition, SQLColumn column) { if(condition){ - getFilter().eq(column.getTable(),fx().getSQLFunc().empty(column.value()),""); + SQLFunction bank = fx().getSQLFunc().empty(column.value()); + getFilter().sqlNativeSegment(bank.sqlSegment(column.getTable()),c->{ + bank.consume(new SQLNativeChainExpressionContextImpl(column.getTable(),c)); + }); } return this; } @@ -129,7 +140,10 @@ default , T> ProxyFilter isEmpty(boolean c @Override default , T> ProxyFilter isNotEmpty(boolean condition, SQLColumn column) { if(condition){ - getFilter().ne(column.getTable(),fx().getSQLFunc().empty(column.value()),""); + SQLFunction bank = fx().getSQLFunc().notEmpty(column.value()); + getFilter().sqlNativeSegment(bank.sqlSegment(column.getTable()),c->{ + bank.consume(new SQLNativeChainExpressionContextImpl(column.getTable(),c)); + }); } return this; } diff --git a/sql-platform/sql-api4j/pom.xml b/sql-platform/sql-api4j/pom.xml index 60a8a1b7c..2d85c1d3e 100644 --- a/sql-platform/sql-api4j/pom.xml +++ b/sql-platform/sql-api4j/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 ../../pom.xml diff --git a/sql-platform/sql-api4kt/pom.xml b/sql-platform/sql-api4kt/pom.xml index a32548fa9..a3239c135 100644 --- a/sql-platform/sql-api4kt/pom.xml +++ b/sql-platform/sql-api4kt/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 ../../pom.xml diff --git a/sql-processor/pom.xml b/sql-processor/pom.xml index e295e4b50..bf3d8b392 100644 --- a/sql-processor/pom.xml +++ b/sql-processor/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.6.0 + 1.6.1 sql-processor diff --git a/sql-test/pom.xml b/sql-test/pom.xml index dbaf738c7..1b2911b4f 100644 --- a/sql-test/pom.xml +++ b/sql-test/pom.xml @@ -5,7 +5,7 @@ easy-query-all com.easy-query - 1.6.0 + 1.6.1 4.0.0 @@ -71,7 +71,7 @@ com.easy-query sql-api4kt - 1.6.0 + 1.6.1 compile diff --git a/sql-test/src/main/java/com/easy/query/test/QueryTest7.java b/sql-test/src/main/java/com/easy/query/test/QueryTest7.java index 302441a5d..21d119cf9 100644 --- a/sql-test/src/main/java/com/easy/query/test/QueryTest7.java +++ b/sql-test/src/main/java/com/easy/query/test/QueryTest7.java @@ -593,7 +593,7 @@ public void testBank1() { .queryable(Topic.class) .where(o -> o.isNotBank(Topic::getId)) .toSQL(); - Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '' OR LTRIM(`id`) = '') <> ?", sql); + Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NOT NULL AND `id` <> '' AND LTRIM(`id`) <> '')", sql); } @Test @@ -602,7 +602,7 @@ public void testBank2() { .queryable(Topic.class) .where(o -> o.isBank(Topic::getId)) .toSQL(); - Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '' OR LTRIM(`id`) = '') = ?", sql); + Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '' OR LTRIM(`id`) = '')", sql); } @Test public void testBank3() { @@ -610,7 +610,7 @@ public void testBank3() { .queryable(TopicProxy.createTable()) .where(o -> o.isNotBank(o.t().id())) .toSQL(); - Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '' OR LTRIM(`id`) = '') <> ?", sql); + Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NOT NULL AND `id` <> '' AND LTRIM(`id`) <> '')", sql); } @Test @@ -619,7 +619,7 @@ public void testBank4() { .queryable(TopicProxy.createTable()) .where(o -> o.isBank(o.t().id())) .toSQL(); - Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '' OR LTRIM(`id`) = '') = ?", sql); + Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '' OR LTRIM(`id`) = '')", sql); } @Test public void testEmpty1() { @@ -627,7 +627,7 @@ public void testEmpty1() { .queryable(Topic.class) .where(o -> o.isNotEmpty(Topic::getId)) .toSQL(); - Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '') <> ?", sql); + Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NOT NULL AND `id` <> '')", sql); } @Test @@ -636,21 +636,21 @@ public void testEmpty2() { .queryable(Topic.class) .where(o -> o.isEmpty(Topic::getId)) .toSQL(); - Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '') = ?", sql); + Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '')", sql); } @Test public void testEmpty3() { String sql = easyProxyQuery.queryable(TopicProxy.createTable()) .where(o -> o.isEmpty(o.t().id())) .toSQL(); - Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '') = ?", sql); + Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '')", sql); } @Test public void testEmpty4() { String sql = easyProxyQuery.queryable(TopicProxy.createTable()) .where(o -> o.isNotEmpty(o.t().id())) .toSQL(); - Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '') <> ?", sql); + Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NOT NULL AND `id` <> '')", sql); } @Test @@ -668,7 +668,7 @@ public void testQuery9() { } }) .toSQL(); - Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '' OR LTRIM(`id`) = '') = ? AND (`id` LIKE ? OR `title` LIKE ?) AND (`id` LIKE ? OR `title` LIKE ?) AND (`id` LIKE ? OR `title` LIKE ?)", sql); + Assert.assertEquals("SELECT `id`,`stars`,`title`,`create_time` FROM `t_topic` WHERE (`id` IS NULL OR `id` = '' OR LTRIM(`id`) = '') AND (`id` LIKE ? OR `title` LIKE ?) AND (`id` LIKE ? OR `title` LIKE ?) AND (`id` LIKE ? OR `title` LIKE ?)", sql); } @Test