From 7eb5605fffaebbd5b18230c4a905196132062400 Mon Sep 17 00:00:00 2001
From: yulichang <570810310@qq.com>
Date: Wed, 10 Apr 2024 09:38:18 +0800
Subject: [PATCH] =?UTF-8?q?mp=20->=203.5.6=20&=20=E9=80=82=E9=85=8Djsqlpar?=
=?UTF-8?q?ser?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../pom.xml | 55 +++++++++++++++++
.../jsqlparser/v46/JSqlParserHelperV46.java | 59 +++++++++++++++++++
.../pom.xml | 56 ++++++++++++++++++
.../adapter/jsqlparser/JSqlParserHelper.java | 54 +++++++++++++++++
.../mybatis-plus-join-adapter-base/pom.xml | 11 +++-
.../{ITableInfoAdapter.java => IAdapter.java} | 5 +-
...eInfoAdapterV33x.java => AdapterV33x.java} | 13 +++-
...eInfoAdapter3431.java => Adapter3431.java} | 13 +++-
.../mybatis-plus-join-adapter-v355/pom.xml | 59 +++++++++++++++++++
.../yulichang/adapter/v355/Adapter355.java | 18 ++++++
mybatis-plus-join-adapter/pom.xml | 10 ++++
mybatis-plus-join-core/pom.xml | 5 ++
.../com/github/yulichang/adapter/Adapter.java | 18 ++++++
.../yulichang/adapter/AdapterHelper.java | 27 +++++----
.../yulichang/adapter/TableInfoAdapter.java | 11 ----
.../yulichang/config/ConfigProperties.java | 4 +-
.../yulichang/interceptor/MPJInterceptor.java | 11 ++--
.../yulichang/kt/KtDeleteJoinWrapper.java | 8 +--
.../yulichang/kt/KtUpdateJoinWrapper.java | 4 +-
.../github/yulichang/kt/interfaces/Query.java | 5 +-
.../github/yulichang/method/DeleteJoin.java | 2 +-
.../yulichang/method/MPJBaseMethod.java | 4 +-
.../github/yulichang/method/UpdateJoin.java | 2 +-
.../yulichang/toolkit/JSqlParserHelper.java | 55 -----------------
.../yulichang/toolkit/KtWrapperUtils.java | 2 +-
.../yulichang/toolkit/WrapperUtils.java | 2 +-
.../yulichang/wrapper/DeleteJoinWrapper.java | 8 +--
.../yulichang/wrapper/UpdateJoinWrapper.java | 4 +-
.../yulichang/wrapper/interfaces/Query.java | 5 +-
.../mapping/mapper/MPJTableFieldInfo.java | 6 +-
mybatis-plus-join-test/pom.xml | 4 +-
.../test-springboot3-jdk17/pom.xml | 2 +-
pom.xml | 2 +-
33 files changed, 422 insertions(+), 122 deletions(-)
create mode 100644 mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser-v46/pom.xml
create mode 100644 mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser-v46/src/main/java/com/github/yulichang/adapter/jsqlparser/v46/JSqlParserHelperV46.java
create mode 100644 mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser/pom.xml
create mode 100644 mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser/src/main/java/com/github/yulichang/adapter/jsqlparser/JSqlParserHelper.java
rename mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/src/main/java/com/github/yulichang/adapter/base/{ITableInfoAdapter.java => IAdapter.java} (89%)
rename mybatis-plus-join-adapter/mybatis-plus-join-adapter-v33x/src/main/java/com/github/yulichang/adapter/v33x/{TableInfoAdapterV33x.java => AdapterV33x.java} (79%)
rename mybatis-plus-join-adapter/mybatis-plus-join-adapter-v3431/src/main/java/com/github/yulichang/adapter/v3431/{TableInfoAdapter3431.java => Adapter3431.java} (62%)
create mode 100644 mybatis-plus-join-adapter/mybatis-plus-join-adapter-v355/pom.xml
create mode 100644 mybatis-plus-join-adapter/mybatis-plus-join-adapter-v355/src/main/java/com/github/yulichang/adapter/v355/Adapter355.java
create mode 100644 mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/Adapter.java
delete mode 100644 mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/TableInfoAdapter.java
delete mode 100644 mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/JSqlParserHelper.java
diff --git a/mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser-v46/pom.xml b/mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser-v46/pom.xml
new file mode 100644
index 0000000..a2797c8
--- /dev/null
+++ b/mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser-v46/pom.xml
@@ -0,0 +1,55 @@
+
+
+ 4.0.0
+
+ com.github.yulichang
+ mybatis-plus-join-adapter
+ ${revision}
+ ../../pom.xml
+
+
+ mybatis-plus-join-adapter-jsqlparser-v46
+ ${revision}
+ mybatis-plus-join-adapter-jsqlparser-v46
+
+ An enhanced toolkit of Mybatis-Plus to simplify development.
+ https://github.com/yulichang/mybatis-plus-join
+
+
+ The Apache License, Version 2.0
+ https://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+ mybatis-plus-join
+ yulichang
+ yu_lichang@qq.com
+
+
+
+ scm:git:https://github.com/yulichang/mybatis-plus-join.git
+ scm:git:https://github.com/yulichang/mybatis-plus-join.git
+ https://github.com/yulichang/mybatis-plus-join
+
+
+
+ 1.8
+ 1.8
+ 1.8
+ 1.8
+ github
+ UTF-8
+
+
+
+
+ com.baomidou
+ mybatis-plus-core
+ 3.5.5
+ provided
+
+
+
\ No newline at end of file
diff --git a/mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser-v46/src/main/java/com/github/yulichang/adapter/jsqlparser/v46/JSqlParserHelperV46.java b/mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser-v46/src/main/java/com/github/yulichang/adapter/jsqlparser/v46/JSqlParserHelperV46.java
new file mode 100644
index 0000000..a3e44c2
--- /dev/null
+++ b/mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser-v46/src/main/java/com/github/yulichang/adapter/jsqlparser/v46/JSqlParserHelperV46.java
@@ -0,0 +1,59 @@
+package com.github.yulichang.adapter.jsqlparser.v46;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import net.sf.jsqlparser.parser.CCJSqlParserUtil;
+import net.sf.jsqlparser.schema.Column;
+import net.sf.jsqlparser.statement.Statement;
+import net.sf.jsqlparser.statement.select.*;
+
+import java.util.function.Consumer;
+
+/**
+ * 字段解析
+ *
+ * @author yulichang
+ * @since 1.4.12
+ */
+public class JSqlParserHelperV46 {
+
+ public static void parserColum(String alias, String from, String selectSql, Consumer columConsumer) {
+ try {
+ boolean parser = false;
+ Statement statement = CCJSqlParserUtil.parse(String.format("SELECT %s FROM table %s %s", selectSql, alias, from));
+ if (statement instanceof Select) {
+ Select select = (Select) statement;
+ SelectBody selectBody = select.getSelectBody();
+ if (selectBody instanceof PlainSelect) {
+ PlainSelect plainSelect = (PlainSelect) selectBody;
+ if (CollectionUtils.isNotEmpty(plainSelect.getSelectItems())) {
+ for (SelectItem item : plainSelect.getSelectItems()) {
+ if (item instanceof SelectExpressionItem) {
+ String col;
+ SelectExpressionItem selectExpressionItem = (SelectExpressionItem) item;
+ if (null == selectExpressionItem.getAlias()) {
+ if (selectExpressionItem.getExpression() instanceof Column) {
+ col = ((Column) selectExpressionItem.getExpression()).getColumnName();
+ } else {
+ col = selectExpressionItem.getExpression().toString();
+ }
+ } else {
+ col = selectExpressionItem.getAlias().getName();
+ }
+ if (StringUtils.isNotBlank(col)) {
+ columConsumer.accept(StringUtils.getTargetColumn(col));
+ }
+ }
+ }
+ parser = true;
+ }
+ }
+ if (!parser)
+ throw ExceptionUtils.mpe("JSqlParser parser error <%s>", selectSql);
+ }
+ } catch (Throwable throwable) {
+ throw new RuntimeException(throwable);
+ }
+ }
+}
diff --git a/mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser/pom.xml b/mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser/pom.xml
new file mode 100644
index 0000000..94ab7fc
--- /dev/null
+++ b/mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser/pom.xml
@@ -0,0 +1,56 @@
+
+
+ 4.0.0
+
+ com.github.yulichang
+ mybatis-plus-join-adapter
+ ${revision}
+ ../../pom.xml
+
+
+ mybatis-plus-join-adapter-jsqlparser
+ ${revision}
+ mybatis-plus-join-adapter-jsqlparser
+
+ An enhanced toolkit of Mybatis-Plus to simplify development.
+ https://github.com/yulichang/mybatis-plus-join
+
+
+ The Apache License, Version 2.0
+ https://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+ mybatis-plus-join
+ yulichang
+ yu_lichang@qq.com
+
+
+
+ scm:git:https://github.com/yulichang/mybatis-plus-join.git
+ scm:git:https://github.com/yulichang/mybatis-plus-join.git
+ https://github.com/yulichang/mybatis-plus-join
+
+
+
+ 1.8
+ 1.8
+ 1.8
+ 1.8
+ github
+ UTF-8
+
+
+
+
+ com.baomidou
+ mybatis-plus-core
+ ${mpj.mybatis.plus.version}
+ provided
+
+
+
+
\ No newline at end of file
diff --git a/mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser/src/main/java/com/github/yulichang/adapter/jsqlparser/JSqlParserHelper.java b/mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser/src/main/java/com/github/yulichang/adapter/jsqlparser/JSqlParserHelper.java
new file mode 100644
index 0000000..87de75d
--- /dev/null
+++ b/mybatis-plus-join-adapter/jsqlparser/mybatis-plus-join-adapter-jsqlparser/src/main/java/com/github/yulichang/adapter/jsqlparser/JSqlParserHelper.java
@@ -0,0 +1,54 @@
+package com.github.yulichang.adapter.jsqlparser;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import net.sf.jsqlparser.parser.CCJSqlParserUtil;
+import net.sf.jsqlparser.schema.Column;
+import net.sf.jsqlparser.statement.Statement;
+import net.sf.jsqlparser.statement.select.PlainSelect;
+import net.sf.jsqlparser.statement.select.SelectItem;
+
+import java.util.function.Consumer;
+
+/**
+ * 字段解析
+ *
+ * @author yulichang
+ * @since 1.4.12
+ */
+public class JSqlParserHelper {
+
+ public static void parserColum(String alias, String from, String selectSql, Consumer columConsumer) {
+ try {
+ boolean parser = false;
+ Statement statement = CCJSqlParserUtil.parse(String.format("SELECT %s FROM table %s %s", selectSql, alias, from));
+ if (statement instanceof PlainSelect) {
+ PlainSelect plainSelect = (PlainSelect) statement;
+ if (CollectionUtils.isNotEmpty(plainSelect.getSelectItems())) {
+ for (SelectItem> item : plainSelect.getSelectItems()) {
+ String col;
+ if (item.getAlias() == null) {
+ if (item.getExpression() instanceof Column) {
+ Column column = (Column) item.getExpression();
+ col = column.getColumnName();
+ } else {
+ col = item.getExpression().toString();
+ }
+ } else {
+ col = item.getAlias().getName();
+ }
+ if (StringUtils.isNotBlank(col)) {
+ columConsumer.accept(StringUtils.getTargetColumn(col));
+ }
+ }
+ parser = true;
+ }
+ }
+ if (!parser)
+ throw ExceptionUtils.mpe("JSqlParser parser error <%s>", selectSql);
+ } catch (Throwable throwable) {
+ throw new RuntimeException(throwable);
+ }
+ }
+}
diff --git a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/pom.xml b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/pom.xml
index f1f69ec..3cf2ef9 100644
--- a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/pom.xml
+++ b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/pom.xml
@@ -41,9 +41,14 @@
provided
- org.projectlombok
- lombok
- provided
+ com.github.yulichang
+ mybatis-plus-join-adapter-jsqlparser
+ ${revision}
+
+
+ com.github.yulichang
+ mybatis-plus-join-adapter-jsqlparser-v46
+ ${revision}
diff --git a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/src/main/java/com/github/yulichang/adapter/base/ITableInfoAdapter.java b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/src/main/java/com/github/yulichang/adapter/base/IAdapter.java
similarity index 89%
rename from mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/src/main/java/com/github/yulichang/adapter/base/ITableInfoAdapter.java
rename to mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/src/main/java/com/github/yulichang/adapter/base/IAdapter.java
index 6a8e90d..1cee471 100644
--- a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/src/main/java/com/github/yulichang/adapter/base/ITableInfoAdapter.java
+++ b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-base/src/main/java/com/github/yulichang/adapter/base/IAdapter.java
@@ -7,6 +7,7 @@ import org.apache.ibatis.session.Configuration;
import java.lang.reflect.Field;
import java.util.List;
+import java.util.function.Consumer;
import java.util.function.Supplier;
import java.util.stream.Collectors;
@@ -14,7 +15,7 @@ import java.util.stream.Collectors;
* @author yulichang
* @since 1.4.3
*/
-public interface ITableInfoAdapter {
+public interface IAdapter {
default boolean mpjHasLogic(TableInfo tableInfo) {
return tableInfo.isWithLogicDelete();
@@ -44,4 +45,6 @@ public interface ITableInfoAdapter {
return tableInfo.getOrderByFields().stream().map(f ->
new OrderFieldInfo(f.getColumn(), f.getType(), f.getSort())).collect(Collectors.toList());
}
+
+ void parserColum(String alias, String from, String selectSql, Consumer columConsumer);
}
diff --git a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v33x/src/main/java/com/github/yulichang/adapter/v33x/TableInfoAdapterV33x.java b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v33x/src/main/java/com/github/yulichang/adapter/v33x/AdapterV33x.java
similarity index 79%
rename from mybatis-plus-join-adapter/mybatis-plus-join-adapter-v33x/src/main/java/com/github/yulichang/adapter/v33x/TableInfoAdapterV33x.java
rename to mybatis-plus-join-adapter/mybatis-plus-join-adapter-v33x/src/main/java/com/github/yulichang/adapter/v33x/AdapterV33x.java
index 9aefe80..d7ff421 100644
--- a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v33x/src/main/java/com/github/yulichang/adapter/v33x/TableInfoAdapterV33x.java
+++ b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v33x/src/main/java/com/github/yulichang/adapter/v33x/AdapterV33x.java
@@ -4,21 +4,23 @@ import com.baomidou.mybatisplus.core.MybatisPlusVersion;
import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.github.yulichang.adapter.base.ITableInfoAdapter;
+import com.github.yulichang.adapter.base.IAdapter;
import com.github.yulichang.adapter.base.metadata.OrderFieldInfo;
import com.github.yulichang.adapter.base.tookit.VersionUtils;
+import com.github.yulichang.adapter.jsqlparser.v46.JSqlParserHelperV46;
import org.apache.ibatis.session.Configuration;
import java.lang.reflect.Field;
import java.util.List;
import java.util.Objects;
+import java.util.function.Consumer;
import java.util.function.Supplier;
/**
* @author yulichang
* @since 1.4.3
*/
-public class TableInfoAdapterV33x implements ITableInfoAdapter {
+public class AdapterV33x implements IAdapter {
private static final boolean is330 = VersionUtils.compare(MybatisPlusVersion.getVersion(), "3.3.0") == 0;
@@ -51,11 +53,16 @@ public class TableInfoAdapterV33x implements ITableInfoAdapter {
@Override
public Field mpjGetField(TableFieldInfo fieldInfo, Supplier supplier) {
- return is330 ? supplier.get() : ITableInfoAdapter.super.mpjGetField(fieldInfo, null);
+ return is330 ? supplier.get() : IAdapter.super.mpjGetField(fieldInfo, null);
}
@Override
public List mpjGetOrderField(TableInfo tableInfo) {
throw new UnsupportedOperationException("不支持排序");
}
+
+ @Override
+ public void parserColum(String alias, String from, String selectSql, Consumer columConsumer) {
+ JSqlParserHelperV46.parserColum(alias, from, selectSql, columConsumer);
+ }
}
diff --git a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v3431/src/main/java/com/github/yulichang/adapter/v3431/TableInfoAdapter3431.java b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v3431/src/main/java/com/github/yulichang/adapter/v3431/Adapter3431.java
similarity index 62%
rename from mybatis-plus-join-adapter/mybatis-plus-join-adapter-v3431/src/main/java/com/github/yulichang/adapter/v3431/TableInfoAdapter3431.java
rename to mybatis-plus-join-adapter/mybatis-plus-join-adapter-v3431/src/main/java/com/github/yulichang/adapter/v3431/Adapter3431.java
index eaf1081..91968a3 100644
--- a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v3431/src/main/java/com/github/yulichang/adapter/v3431/TableInfoAdapter3431.java
+++ b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v3431/src/main/java/com/github/yulichang/adapter/v3431/Adapter3431.java
@@ -2,18 +2,22 @@ package com.github.yulichang.adapter.v3431;
import com.baomidou.mybatisplus.core.MybatisPlusVersion;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
-import com.github.yulichang.adapter.base.ITableInfoAdapter;
+import com.github.yulichang.adapter.base.IAdapter;
import com.github.yulichang.adapter.base.metadata.OrderFieldInfo;
import com.github.yulichang.adapter.base.tookit.VersionUtils;
+import com.github.yulichang.adapter.jsqlparser.v46.JSqlParserHelperV46;
+import lombok.AllArgsConstructor;
import java.util.List;
+import java.util.function.Consumer;
import java.util.stream.Collectors;
/**
* @author yulichang
* @since 1.4.7
*/
-public class TableInfoAdapter3431 implements ITableInfoAdapter {
+@AllArgsConstructor
+public class Adapter3431 implements IAdapter {
private static final boolean v = VersionUtils.compare(MybatisPlusVersion.getVersion(), "3.4.3") < 0;
@@ -22,4 +26,9 @@ public class TableInfoAdapter3431 implements ITableInfoAdapter {
return v ? null : tableInfo.getOrderByFields().stream().map(f ->
new OrderFieldInfo(f.getColumn(), f.getOrderByType(), f.getOrderBySort())).collect(Collectors.toList());
}
+
+ @Override
+ public void parserColum(String alias, String from, String selectSql, Consumer columConsumer) {
+ JSqlParserHelperV46.parserColum(alias, from, selectSql, columConsumer);
+ }
}
diff --git a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v355/pom.xml b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v355/pom.xml
new file mode 100644
index 0000000..955a389
--- /dev/null
+++ b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v355/pom.xml
@@ -0,0 +1,59 @@
+
+
+ 4.0.0
+
+ com.github.yulichang
+ mybatis-plus-join-adapter
+ ${revision}
+
+ mybatis-plus-join-adapter-v355
+ ${revision}
+ mybatis-plus-join-adapter-v355
+
+ An enhanced toolkit of Mybatis-Plus to simplify development.
+ https://github.com/yulichang/mybatis-plus-join
+
+
+ The Apache License, Version 2.0
+ https://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+ mybatis-plus-join
+ yulichang
+ yu_lichang@qq.com
+
+
+
+ scm:git:https://github.com/yulichang/mybatis-plus-join.git
+ scm:git:https://github.com/yulichang/mybatis-plus-join.git
+ https://github.com/yulichang/mybatis-plus-join
+
+
+
+ 1.8
+ 1.8
+ 1.8
+ 1.8
+ github
+ UTF-8
+
+
+
+
+ com.github.yulichang
+ mybatis-plus-join-adapter-base
+ ${revision}
+
+
+ com.baomidou
+ mybatis-plus-core
+ 3.5.5
+ provided
+
+
+
+
\ No newline at end of file
diff --git a/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v355/src/main/java/com/github/yulichang/adapter/v355/Adapter355.java b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v355/src/main/java/com/github/yulichang/adapter/v355/Adapter355.java
new file mode 100644
index 0000000..04704a0
--- /dev/null
+++ b/mybatis-plus-join-adapter/mybatis-plus-join-adapter-v355/src/main/java/com/github/yulichang/adapter/v355/Adapter355.java
@@ -0,0 +1,18 @@
+package com.github.yulichang.adapter.v355;
+
+import com.github.yulichang.adapter.base.IAdapter;
+import com.github.yulichang.adapter.jsqlparser.v46.JSqlParserHelperV46;
+
+import java.util.function.Consumer;
+
+/**
+ * @author yulichang
+ * @since 1.4.12
+ */
+public class Adapter355 implements IAdapter {
+
+ @Override
+ public void parserColum(String alias, String from, String selectSql, Consumer columConsumer) {
+ JSqlParserHelperV46.parserColum(alias, from, selectSql, columConsumer);
+ }
+}
\ No newline at end of file
diff --git a/mybatis-plus-join-adapter/pom.xml b/mybatis-plus-join-adapter/pom.xml
index d0df29f..32e3645 100644
--- a/mybatis-plus-join-adapter/pom.xml
+++ b/mybatis-plus-join-adapter/pom.xml
@@ -17,6 +17,9 @@
mybatis-plus-join-adapter-v33x
mybatis-plus-join-adapter-v3431
mybatis-plus-join-adapter-v352
+ mybatis-plus-join-adapter-v355
+ jsqlparser/mybatis-plus-join-adapter-jsqlparser
+ jsqlparser/mybatis-plus-join-adapter-jsqlparser-v46
An enhanced toolkit of Mybatis-Plus to simplify development.
@@ -40,4 +43,11 @@
https://github.com/yulichang/mybatis-plus-join
+
+
+ org.projectlombok
+ lombok
+ provided
+
+
diff --git a/mybatis-plus-join-core/pom.xml b/mybatis-plus-join-core/pom.xml
index 6a67863..2d31e0c 100644
--- a/mybatis-plus-join-core/pom.xml
+++ b/mybatis-plus-join-core/pom.xml
@@ -54,6 +54,11 @@
mybatis-plus-join-adapter-v352
${revision}
+
+ com.github.yulichang
+ mybatis-plus-join-adapter-v355
+ ${revision}
+
com.baomidou
mybatis-plus-extension
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/Adapter.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/Adapter.java
new file mode 100644
index 0000000..0d685d6
--- /dev/null
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/Adapter.java
@@ -0,0 +1,18 @@
+package com.github.yulichang.adapter;
+
+import com.github.yulichang.adapter.base.IAdapter;
+import com.github.yulichang.adapter.jsqlparser.JSqlParserHelper;
+
+import java.util.function.Consumer;
+
+/**
+ * @author yulichang
+ * @since 1.4.3
+ */
+public class Adapter implements IAdapter {
+
+ @Override
+ public void parserColum(String alias, String from, String selectSql, Consumer columConsumer) {
+ JSqlParserHelper.parserColum(alias, from, selectSql, columConsumer);
+ }
+}
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/AdapterHelper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/AdapterHelper.java
index 3b91ccf..d17b3f4 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/AdapterHelper.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/AdapterHelper.java
@@ -2,10 +2,12 @@ package com.github.yulichang.adapter;
import com.baomidou.mybatisplus.core.MybatisPlusVersion;
import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
-import com.github.yulichang.adapter.base.ITableInfoAdapter;
+import com.github.yulichang.adapter.base.IAdapter;
import com.github.yulichang.adapter.base.tookit.VersionUtils;
-import com.github.yulichang.adapter.v33x.TableInfoAdapterV33x;
-import com.github.yulichang.adapter.v3431.TableInfoAdapter3431;
+import com.github.yulichang.adapter.v33x.AdapterV33x;
+import com.github.yulichang.adapter.v3431.Adapter3431;
+import com.github.yulichang.adapter.v355.Adapter355;
+import lombok.Getter;
/**
* @author yulichang
@@ -13,22 +15,23 @@ import com.github.yulichang.adapter.v3431.TableInfoAdapter3431;
*/
public class AdapterHelper {
- private static final ITableInfoAdapter adapter;
+ @Getter
+ private static final IAdapter adapter;
+
static {
String version = MybatisPlusVersion.getVersion();
- if (VersionUtils.compare(version, "3.5.4") >= 0) {
- adapter = new TableInfoAdapter();
+
+ if (VersionUtils.compare(version, "3.5.6") >= 0) {
+ adapter = new Adapter();
+ } else if (VersionUtils.compare(version, "3.5.4") >= 0) {
+ adapter = new Adapter355();
} else if (VersionUtils.compare(version, "3.4.0") >= 0) {
- adapter = new TableInfoAdapter3431();
+ adapter = new Adapter3431();
} else if (VersionUtils.compare(version, "3.3.0") >= 0) {
- adapter = new TableInfoAdapterV33x();
+ adapter = new AdapterV33x();
} else {
throw ExceptionUtils.mpe("MPJ需要MP版本3.3.0+,当前MP版本%s", version);
}
}
-
- public static ITableInfoAdapter getTableInfoAdapter() {
- return adapter;
- }
}
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/TableInfoAdapter.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/TableInfoAdapter.java
deleted file mode 100644
index 145a51c..0000000
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/adapter/TableInfoAdapter.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.github.yulichang.adapter;
-
-import com.github.yulichang.adapter.base.ITableInfoAdapter;
-
-/**
- * @author yulichang
- * @since 1.4.3
- */
-public class TableInfoAdapter implements ITableInfoAdapter {
-
-}
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/ConfigProperties.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/ConfigProperties.java
index 3aa43a6..0d559f4 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/ConfigProperties.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/ConfigProperties.java
@@ -1,7 +1,7 @@
package com.github.yulichang.config;
import com.github.yulichang.adapter.AdapterHelper;
-import com.github.yulichang.adapter.base.ITableInfoAdapter;
+import com.github.yulichang.adapter.base.IAdapter;
import com.github.yulichang.config.enums.IfExistsEnum;
import com.github.yulichang.config.enums.LogicDelTypeEnum;
import com.github.yulichang.wrapper.enums.IfExistsSqlKeyWordEnum;
@@ -45,7 +45,7 @@ public class ConfigProperties {
/**
* TableInfo适配器
*/
- public static ITableInfoAdapter tableInfoAdapter = AdapterHelper.getTableInfoAdapter();
+ public static IAdapter tableInfoAdapter = AdapterHelper.getAdapter();
/**
* 子查询别名
*/
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java
index 9f20dfe..3fa755c 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java
@@ -2,13 +2,16 @@ package com.github.yulichang.interceptor;
import com.baomidou.mybatisplus.core.MybatisPlusVersion;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
-import com.baomidou.mybatisplus.core.toolkit.ReflectionKit;
import com.baomidou.mybatisplus.core.toolkit.*;
+import com.github.yulichang.adapter.AdapterHelper;
import com.github.yulichang.adapter.base.tookit.VersionUtils;
import com.github.yulichang.config.ConfigProperties;
import com.github.yulichang.interfaces.MPJBaseJoin;
import com.github.yulichang.query.MPJQueryWrapper;
-import com.github.yulichang.toolkit.*;
+import com.github.yulichang.toolkit.Constant;
+import com.github.yulichang.toolkit.MPJReflectionKit;
+import com.github.yulichang.toolkit.MPJTableMapperHelper;
+import com.github.yulichang.toolkit.TableHelper;
import com.github.yulichang.toolkit.support.FieldCache;
import com.github.yulichang.wrapper.interfaces.SelectWrapper;
import com.github.yulichang.wrapper.resultmap.IResult;
@@ -205,7 +208,7 @@ public class MPJInterceptor implements Interceptor {
resultMappings.add(selectToResult(wrapper.getEntityClass(), i, field.getType(), builder));
}
} else if (wrapper.isResultMap()) {
- ThrowOptional.tryDo(() -> JSqlParserHelper.paresColum(wrapper, i.getColumn(), col -> {
+ AdapterHelper.getAdapter().parserColum(wrapper.getAlias(), wrapper.getFrom(), i.getColumn(), col -> {
FieldCache strField = fieldMap.get(col);
columnSet.add(col);
if (Objects.nonNull(strField)) {
@@ -213,7 +216,7 @@ public class MPJInterceptor implements Interceptor {
col, strField.getType());
resultMappings.add(selectToResult(wrapper.getEntityClass(), i, strField.getType(), builder));
}
- })).catchDo();
+ });
}
}
}
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtDeleteJoinWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtDeleteJoinWrapper.java
index 8721079..960e073 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtDeleteJoinWrapper.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtDeleteJoinWrapper.java
@@ -168,17 +168,17 @@ public class KtDeleteJoinWrapper extends KtAbstractLambdaWrapper entityClass = getEntityClass();
TableInfo tableInfo = TableHelper.getAssert(entityClass);
//检查
- boolean mainLogic = AdapterHelper.getTableInfoAdapter().mpjHasLogic(tableInfo);
+ boolean mainLogic = AdapterHelper.getAdapter().mpjHasLogic(tableInfo);
boolean check = classList.stream().allMatch(t -> {
TableInfo ti = TableHelper.getAssert(t);
- return mainLogic == AdapterHelper.getTableInfoAdapter().mpjHasLogic(ti);
+ return mainLogic == AdapterHelper.getAdapter().mpjHasLogic(ti);
});
if (!check) {
throw ExceptionUtils.mpe("连表删除只适用于全部表(主表和副表)都是物理删除或全部都是逻辑删除, " +
"不支持同时存在物理删除和逻辑删除 [物理删除->(%s)] [逻辑删除->(%s)]",
- classList.stream().filter(t -> !AdapterHelper.getTableInfoAdapter().mpjHasLogic(TableHelper.getAssert(t)))
+ classList.stream().filter(t -> !AdapterHelper.getAdapter().mpjHasLogic(TableHelper.getAssert(t)))
.map(Class::getSimpleName).collect(Collectors.joining(StringPool.COMMA)),
- classList.stream().filter(t -> AdapterHelper.getTableInfoAdapter().mpjHasLogic(TableHelper.getAssert(t)))
+ classList.stream().filter(t -> AdapterHelper.getAdapter().mpjHasLogic(TableHelper.getAssert(t)))
.map(Class::getSimpleName).collect(Collectors.joining(StringPool.COMMA)));
}
}
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtUpdateJoinWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtUpdateJoinWrapper.java
index d6ac0cf..945d8ae 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtUpdateJoinWrapper.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtUpdateJoinWrapper.java
@@ -201,12 +201,12 @@ public class KtUpdateJoinWrapper extends KtAbstractLambdaWrapper", obj.getClass().getSimpleName());
TableInfo tableInfo = TableHelper.getAssert(obj.getClass());
for (TableFieldInfo fieldInfo : tableInfo.getFieldList()) {
- if (AdapterHelper.getTableInfoAdapter().mpjHasLogic(tableInfo) && fieldInfo.isLogicDelete()) {
+ if (AdapterHelper.getAdapter().mpjHasLogic(tableInfo) && fieldInfo.isLogicDelete()) {
continue;
}
Object val;
try {
- Field field = AdapterHelper.getTableInfoAdapter().mpjGetField(fieldInfo, () -> {
+ Field field = AdapterHelper.getAdapter().mpjGetField(fieldInfo, () -> {
Field field1 = ReflectionKit.getFieldMap(obj.getClass()).get(fieldInfo.getProperty());
field1.setAccessible(true);
return field1;
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/Query.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/Query.java
index 7cd6bef..43d923f 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/Query.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/interfaces/Query.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.github.yulichang.kt.segments.FuncArgs;
+import com.github.yulichang.toolkit.Constant;
import com.github.yulichang.toolkit.KtUtils;
import com.github.yulichang.toolkit.MPJReflectionKit;
import com.github.yulichang.toolkit.TableHelper;
@@ -98,7 +99,7 @@ public interface Query extends Serializable {
* @param column 列
*/
default Children selectAs(String column, KProperty> alias) {
- getSelectColum().add(new SelectString(column + Constants.AS + alias.getName(), alias.getName()));
+ getSelectColum().add(new SelectString(column + Constant.AS + alias.getName(), alias.getName()));
return getChildren();
}
@@ -111,7 +112,7 @@ public interface Query extends Serializable {
Map cacheMap = ColumnCache.getMapField(KtUtils.ref(column));
SelectCache cache = cacheMap.get(column.getName());
getSelectColum().add(new SelectString(
- index + Constants.DOT + cache.getColumn() + Constants.AS + alias.getName(), alias.getName()));
+ index + Constants.DOT + cache.getColumn() + Constant.AS + alias.getName(), alias.getName()));
return getChildren();
}
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/DeleteJoin.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/DeleteJoin.java
index 332fcb9..6396245 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/DeleteJoin.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/DeleteJoin.java
@@ -28,7 +28,7 @@ public class DeleteJoin extends MPJAbstractMethod {
@SuppressWarnings("DuplicatedCode")
public MappedStatement injectMappedStatement(Class> mapperClass, Class> modelClass, TableInfo tableInfo) {
SqlMethod sqlMethod = SqlMethod.LOGIC_DELETE_JOIN;
- if (AdapterHelper.getTableInfoAdapter().mpjHasLogic(tableInfo)) {
+ if (AdapterHelper.getAdapter().mpjHasLogic(tableInfo)) {
String sql = String.format(sqlMethod.getSql(), sqlFirst(), mpjTableName(tableInfo), sqlAlias(), sqlFrom(),
mpjDeleteLogic(tableInfo), sqlWhereEntityWrapper(true, tableInfo), sqlComment());
SqlSource sqlSource = languageDriver.createSqlSource(configuration, removeExtraWhitespaces(sql), modelClass);
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/MPJBaseMethod.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/MPJBaseMethod.java
index 8967940..8742ad9 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/MPJBaseMethod.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/MPJBaseMethod.java
@@ -73,7 +73,7 @@ public interface MPJBaseMethod extends Constants {
/* 不存在排序字段,直接返回空 */
List orderByFields;
try {
- orderByFields = AdapterHelper.getTableInfoAdapter().mpjGetOrderField(tableInfo);
+ orderByFields = AdapterHelper.getAdapter().mpjGetOrderField(tableInfo);
} catch (Exception e) {
return StringPool.EMPTY;
}
@@ -226,7 +226,7 @@ public interface MPJBaseMethod extends Constants {
return tableInfo.getFieldList().stream()
.filter(i -> {
if (ignoreLogicDelFiled) {
- return !(AdapterHelper.getTableInfoAdapter().mpjHasLogic(tableInfo) && i.isLogicDelete());
+ return !(AdapterHelper.getAdapter().mpjHasLogic(tableInfo) && i.isLogicDelete());
}
return true;
}).map(i -> mpjGetSqlSet(i, newPrefix)).filter(Objects::nonNull).collect(joining(NEWLINE));
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/UpdateJoin.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/UpdateJoin.java
index c9fd322..6b7a11a 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/UpdateJoin.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/method/UpdateJoin.java
@@ -64,7 +64,7 @@ public class UpdateJoin extends MPJAbstractMethod {
if (fieldStrategy == FieldStrategy.NEVER) {
return null;
}
- if (AdapterHelper.getTableInfoAdapter().mpjIsPrimitive(tableFieldInfo) || fieldStrategy == FieldStrategy.IGNORED) {
+ if (AdapterHelper.getAdapter().mpjIsPrimitive(tableFieldInfo) || fieldStrategy == FieldStrategy.IGNORED) {
return sqlScript;
}
if (fieldStrategy == FieldStrategy.NOT_EMPTY && tableFieldInfo.isCharSequence()) {
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/JSqlParserHelper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/JSqlParserHelper.java
deleted file mode 100644
index b42c471..0000000
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/JSqlParserHelper.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.github.yulichang.toolkit;
-
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.github.yulichang.wrapper.interfaces.SelectWrapper;
-import net.sf.jsqlparser.parser.CCJSqlParserUtil;
-import net.sf.jsqlparser.schema.Column;
-import net.sf.jsqlparser.statement.Statement;
-import net.sf.jsqlparser.statement.select.*;
-
-import java.util.function.Consumer;
-
-/**
- * @author yulichang
- * @since 1.4.10
- */
-public final class JSqlParserHelper {
-
- /**
- * 解析sql select字段 刚接触JSqlParser有更好的用法欢迎PR
- *
- * @param selectSql 要解析的select sql片段
- * @param columConsumer 解析的字段处理
- */
- public static void paresColum(SelectWrapper, ?> wrapper, String selectSql, Consumer columConsumer) throws Exception {
- Statement statement = CCJSqlParserUtil.parse(String.format("SELECT %s FROM table %s %s", selectSql, wrapper.getAlias(), wrapper.getFrom()));
- if (statement instanceof Select) {
- Select select = (Select) statement;
- SelectBody selectBody = select.getSelectBody();
- if (selectBody instanceof PlainSelect) {
- PlainSelect plainSelect = (PlainSelect) selectBody;
- if (CollectionUtils.isNotEmpty(plainSelect.getSelectItems())) {
- for (SelectItem item : plainSelect.getSelectItems()) {
- if (item instanceof SelectExpressionItem) {
- String col;
- SelectExpressionItem selectExpressionItem = (SelectExpressionItem) item;
- if (null == selectExpressionItem.getAlias()) {
- if (selectExpressionItem.getExpression() instanceof Column) {
- col = ((Column) selectExpressionItem.getExpression()).getColumnName();
- } else {
- col = selectExpressionItem.getExpression().toString();
- }
- } else {
- col = selectExpressionItem.getAlias().getName();
- }
- if (StringUtils.isNotBlank(col)) {
- columConsumer.accept(StringUtils.getTargetColumn(col));
- }
- }
- }
- }
- }
- }
- }
-}
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtWrapperUtils.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtWrapperUtils.java
index ca2482d..707f4e7 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtWrapperUtils.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtWrapperUtils.java
@@ -98,7 +98,7 @@ public class KtWrapperUtils {
}
StringBuilder sb = new StringBuilder(StringPool.EMPTY);
for (TableFieldInfo fieldInfo : tableInfo.getFieldList()) {
- if (AdapterHelper.getTableInfoAdapter().mpjHasLogic(tableInfo) && fieldInfo.isLogicDelete()) {
+ if (AdapterHelper.getAdapter().mpjHasLogic(tableInfo) && fieldInfo.isLogicDelete()) {
continue;
}
Object val;
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/WrapperUtils.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/WrapperUtils.java
index 615a1cd..8fd1356 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/WrapperUtils.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/WrapperUtils.java
@@ -98,7 +98,7 @@ public class WrapperUtils {
}
StringBuilder sb = new StringBuilder(StringPool.EMPTY);
for (TableFieldInfo fieldInfo : tableInfo.getFieldList()) {
- if (AdapterHelper.getTableInfoAdapter().mpjHasLogic(tableInfo) && fieldInfo.isLogicDelete()) {
+ if (AdapterHelper.getAdapter().mpjHasLogic(tableInfo) && fieldInfo.isLogicDelete()) {
continue;
}
Object val;
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/DeleteJoinWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/DeleteJoinWrapper.java
index bfbb174..3eb7da4 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/DeleteJoinWrapper.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/DeleteJoinWrapper.java
@@ -171,17 +171,17 @@ public class DeleteJoinWrapper extends JoinAbstractLambdaWrapper entityClass = getEntityClass();
TableInfo tableInfo = TableHelper.getAssert(entityClass);
//检查
- boolean mainLogic = AdapterHelper.getTableInfoAdapter().mpjHasLogic(tableInfo);
+ boolean mainLogic = AdapterHelper.getAdapter().mpjHasLogic(tableInfo);
boolean check = classList.stream().allMatch(t -> {
TableInfo ti = TableHelper.getAssert(t);
- return mainLogic == AdapterHelper.getTableInfoAdapter().mpjHasLogic(ti);
+ return mainLogic == AdapterHelper.getAdapter().mpjHasLogic(ti);
});
if (!check) {
throw ExceptionUtils.mpe("连表删除只适用于全部表(主表和副表)都是物理删除或全部都是逻辑删除, " +
"不支持同时存在物理删除和逻辑删除 [物理删除->(%s)] [逻辑删除->(%s)]",
- classList.stream().filter(t -> !AdapterHelper.getTableInfoAdapter().mpjHasLogic(TableHelper.getAssert(t)))
+ classList.stream().filter(t -> !AdapterHelper.getAdapter().mpjHasLogic(TableHelper.getAssert(t)))
.map(Class::getSimpleName).collect(Collectors.joining(StringPool.COMMA)),
- classList.stream().filter(t -> AdapterHelper.getTableInfoAdapter().mpjHasLogic(TableHelper.getAssert(t)))
+ classList.stream().filter(t -> AdapterHelper.getAdapter().mpjHasLogic(TableHelper.getAssert(t)))
.map(Class::getSimpleName).collect(Collectors.joining(StringPool.COMMA)));
}
}
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/UpdateJoinWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/UpdateJoinWrapper.java
index 1df4243..4dd1189 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/UpdateJoinWrapper.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/UpdateJoinWrapper.java
@@ -203,12 +203,12 @@ public class UpdateJoinWrapper extends JoinAbstractLambdaWrapper", obj.getClass().getSimpleName());
TableInfo tableInfo = TableHelper.getAssert(obj.getClass());
for (TableFieldInfo fieldInfo : tableInfo.getFieldList()) {
- if (AdapterHelper.getTableInfoAdapter().mpjHasLogic(tableInfo) && fieldInfo.isLogicDelete()) {
+ if (AdapterHelper.getAdapter().mpjHasLogic(tableInfo) && fieldInfo.isLogicDelete()) {
continue;
}
Object val;
try {
- Field field = AdapterHelper.getTableInfoAdapter().mpjGetField(fieldInfo, () -> {
+ Field field = AdapterHelper.getAdapter().mpjGetField(fieldInfo, () -> {
Field field1 = ReflectionKit.getFieldMap(obj.getClass()).get(fieldInfo.getProperty());
field1.setAccessible(true);
return field1;
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Query.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Query.java
index a624a20..2a6d9a6 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Query.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Query.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
+import com.github.yulichang.toolkit.Constant;
import com.github.yulichang.toolkit.LambdaUtils;
import com.github.yulichang.toolkit.MPJReflectionKit;
import com.github.yulichang.toolkit.TableHelper;
@@ -97,7 +98,7 @@ public interface Query extends Serializable {
*/
default Children selectAs(String column, SFunction alias) {
String name = LambdaUtils.getName(alias);
- getSelectColum().add(new SelectString(column + Constants.AS + name, name));
+ getSelectColum().add(new SelectString(column + Constant.AS + name, name));
return getChildren();
}
@@ -110,7 +111,7 @@ public interface Query extends Serializable {
Map cacheMap = ColumnCache.getMapField(LambdaUtils.getEntityClass(column));
SelectCache cache = cacheMap.get(LambdaUtils.getName(column));
String name = LambdaUtils.getName(alias);
- getSelectColum().add(new SelectString(index + Constants.DOT + cache.getColumn() + Constants.AS + name, name));
+ getSelectColum().add(new SelectString(index + Constants.DOT + cache.getColumn() + Constant.AS + name, name));
return getChildren();
}
diff --git a/mybatis-plus-join-extension/src/main/java/com/github/yulichang/extension/mapping/mapper/MPJTableFieldInfo.java b/mybatis-plus-join-extension/src/main/java/com/github/yulichang/extension/mapping/mapper/MPJTableFieldInfo.java
index 608fda7..4e40ba0 100644
--- a/mybatis-plus-join-extension/src/main/java/com/github/yulichang/extension/mapping/mapper/MPJTableFieldInfo.java
+++ b/mybatis-plus-join-extension/src/main/java/com/github/yulichang/extension/mapping/mapper/MPJTableFieldInfo.java
@@ -192,7 +192,7 @@ public class MPJTableFieldInfo {
TableFieldInfo joinFieldInfo = joinTableInfo.getFieldList().stream().filter(f ->
f.getProperty().equals(this.joinProperty)).findFirst().orElse(null);
if (joinFieldInfo == null) {
- if (AdapterHelper.getTableInfoAdapter().mpjHasPK(joinTableInfo) && this.joinProperty.equals(joinTableInfo.getKeyProperty())) {
+ if (AdapterHelper.getAdapter().mpjHasPK(joinTableInfo) && this.joinProperty.equals(joinTableInfo.getKeyProperty())) {
this.joinColumn = joinTableInfo.getKeyColumn();
this.joinField = ReflectionKit.getFieldList(this.joinClass).stream().filter(i ->
i.getName().equals(joinTableInfo.getKeyProperty())).findFirst().orElse(null);
@@ -218,7 +218,7 @@ public class MPJTableFieldInfo {
}
TableInfo tableInfo = getTableInfo(this.entityType);
- if (AdapterHelper.getTableInfoAdapter().mpjHasPK(tableInfo) && this.thisProperty.equals(tableInfo.getKeyProperty())) {
+ if (AdapterHelper.getAdapter().mpjHasPK(tableInfo) && this.thisProperty.equals(tableInfo.getKeyProperty())) {
this.thisField = ReflectionKit.getFieldList(ClassUtils.getUserClass(entityType)).stream().filter(f ->
f.getName().equals(tableInfo.getKeyProperty())).findFirst().orElse(null);
Assert.notNull(this.thisField, "注解属性thisField不存在 %s , %s", entityType.getName(),
@@ -313,7 +313,7 @@ public class MPJTableFieldInfo {
}
private Field getField(Class> table, TableFieldInfo tableFieldInfo) {
- return AdapterHelper.getTableInfoAdapter().mpjGetField(tableFieldInfo, () ->
+ return AdapterHelper.getAdapter().mpjGetField(tableFieldInfo, () ->
ReflectionKit.getFieldMap(table).get(tableFieldInfo.getProperty()));
}
diff --git a/mybatis-plus-join-test/pom.xml b/mybatis-plus-join-test/pom.xml
index ed19eb7..7d0e670 100644
--- a/mybatis-plus-join-test/pom.xml
+++ b/mybatis-plus-join-test/pom.xml
@@ -24,7 +24,7 @@
test-mapping
-
+
@@ -51,7 +51,7 @@
1.4.11
- 3.5.5
+ 3.5.6
1.8
1.8
diff --git a/mybatis-plus-join-test/test-springboot3-jdk17/pom.xml b/mybatis-plus-join-test/test-springboot3-jdk17/pom.xml
index f76fbe8..be420d9 100644
--- a/mybatis-plus-join-test/test-springboot3-jdk17/pom.xml
+++ b/mybatis-plus-join-test/test-springboot3-jdk17/pom.xml
@@ -15,7 +15,7 @@
1.4.11
- 3.5.5
+ 3.5.6
17
17
diff --git a/pom.xml b/pom.xml
index cb2c761..231bc6f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,7 +41,7 @@
1.4.11
- 3.5.5
+ 3.5.6
1.8
1.8