From ed38338057057ca69f5f4187b662d29c9f45d08d Mon Sep 17 00:00:00 2001 From: amadeus5201 <1491459939@qq.com> Date: Mon, 24 Mar 2025 15:44:41 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E9=9B=86=E5=90=88=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mongoplus/execute/Execute.java | 2 ++ .../java/com/mongoplus/execute/instance/DefaultExecute.java | 5 +++++ .../java/com/mongoplus/execute/instance/SessionExecute.java | 5 +++++ .../main/java/com/mongoplus/mapper/AbstractBaseMapper.java | 6 +++++- .../src/main/java/com/mongoplus/mapper/BaseMapper.java | 6 ++++++ .../java/com/mongoplus/mapper/DefaultBaseMapperImpl.java | 5 +++++ .../src/main/java/com/mongoplus/mapper/Mapper.java | 2 ++ 7 files changed, 30 insertions(+), 1 deletion(-) diff --git a/mongo-plus-core/src/main/java/com/mongoplus/execute/Execute.java b/mongo-plus-core/src/main/java/com/mongoplus/execute/Execute.java index d6e16ee..4850708 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/execute/Execute.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/execute/Execute.java @@ -185,4 +185,6 @@ public interface Execute { void doDropIndexes(DropIndexOptions dropIndexOptions,MongoCollection collection); + void doDropCollection(MongoCollection collection); + } diff --git a/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/DefaultExecute.java b/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/DefaultExecute.java index 6288517..184fcf6 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/DefaultExecute.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/DefaultExecute.java @@ -154,4 +154,9 @@ public class DefaultExecute implements Execute { public void doDropIndexes(DropIndexOptions dropIndexOptions, MongoCollection collection) { collection.dropIndexes(dropIndexOptions); } + + @Override + public void doDropCollection(MongoCollection collection) { + collection.drop(); + } } diff --git a/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/SessionExecute.java b/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/SessionExecute.java index 4d94eed..2ced507 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/SessionExecute.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/SessionExecute.java @@ -168,4 +168,9 @@ public class SessionExecute implements Execute { MongoCollection collection) { collection.dropIndexes(clientSession,dropIndexOptions); } + + @Override + public void doDropCollection(MongoCollection collection) { + collection.drop(clientSession); + } } diff --git a/mongo-plus-core/src/main/java/com/mongoplus/mapper/AbstractBaseMapper.java b/mongo-plus-core/src/main/java/com/mongoplus/mapper/AbstractBaseMapper.java index a60f90c..d079f39 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/mapper/AbstractBaseMapper.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/mapper/AbstractBaseMapper.java @@ -32,8 +32,8 @@ import com.mongoplus.model.PageParam; import com.mongoplus.model.PageResult; import com.mongoplus.model.command.ParseCommand; import com.mongoplus.parser.CommandParse; -import com.mongoplus.toolkit.Filters; import com.mongoplus.toolkit.*; +import com.mongoplus.toolkit.Filters; import org.bson.Document; import org.bson.conversions.Bson; @@ -556,5 +556,9 @@ public abstract class AbstractBaseMapper extends DefaultBaseIndexImpl implements ); } + @Override + public void dropCollection(String database, String collectionName) { + factory.getExecute().doDropCollection(mongoPlusClient.getCollection(database, collectionName)); + } } diff --git a/mongo-plus-core/src/main/java/com/mongoplus/mapper/BaseMapper.java b/mongo-plus-core/src/main/java/com/mongoplus/mapper/BaseMapper.java index 5da53a6..45bf8e3 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/mapper/BaseMapper.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/mapper/BaseMapper.java @@ -624,4 +624,10 @@ public interface BaseMapper extends Mapper { */ long count(Class clazz); + /** + * 删除集合 + */ + void dropCollection(Class clazz); + + } diff --git a/mongo-plus-core/src/main/java/com/mongoplus/mapper/DefaultBaseMapperImpl.java b/mongo-plus-core/src/main/java/com/mongoplus/mapper/DefaultBaseMapperImpl.java index 0326537..696f401 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/mapper/DefaultBaseMapperImpl.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/mapper/DefaultBaseMapperImpl.java @@ -280,4 +280,9 @@ public class DefaultBaseMapperImpl extends AbstractBaseMapper { return getByColumn(namespace.left, namespace.right, column, value, typeReference); } + @Override + public void dropCollection(Class clazz) { + MutablePair namespace = getNamespace(clazz); + dropCollection(namespace.getLeft(), namespace.getRight()); + } } diff --git a/mongo-plus-core/src/main/java/com/mongoplus/mapper/Mapper.java b/mongo-plus-core/src/main/java/com/mongoplus/mapper/Mapper.java index 51434a3..46ae13d 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/mapper/Mapper.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/mapper/Mapper.java @@ -397,4 +397,6 @@ public interface Mapper extends SuperMapper { return count(EMPTY,collectionName); } + void dropCollection(String databaseName, String collectionName); + } -- Gitee From eaef67ac82530ceed26ca87257d15f49d68d9226 Mon Sep 17 00:00:00 2001 From: amadeus5201 <1491459939@qq.com> Date: Tue, 25 Mar 2025 15:11:49 +0800 Subject: [PATCH 2/3] =?UTF-8?q?Revert=20"feat:=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=9B=86=E5=90=88=E6=96=B9=E6=B3=95"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit ed38338057057ca69f5f4187b662d29c9f45d08d. --- .../src/main/java/com/mongoplus/execute/Execute.java | 2 -- .../java/com/mongoplus/execute/instance/DefaultExecute.java | 5 ----- .../java/com/mongoplus/execute/instance/SessionExecute.java | 5 ----- .../main/java/com/mongoplus/mapper/AbstractBaseMapper.java | 6 +----- .../src/main/java/com/mongoplus/mapper/BaseMapper.java | 6 ------ .../java/com/mongoplus/mapper/DefaultBaseMapperImpl.java | 5 ----- .../src/main/java/com/mongoplus/mapper/Mapper.java | 2 -- 7 files changed, 1 insertion(+), 30 deletions(-) diff --git a/mongo-plus-core/src/main/java/com/mongoplus/execute/Execute.java b/mongo-plus-core/src/main/java/com/mongoplus/execute/Execute.java index 4850708..d6e16ee 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/execute/Execute.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/execute/Execute.java @@ -185,6 +185,4 @@ public interface Execute { void doDropIndexes(DropIndexOptions dropIndexOptions,MongoCollection collection); - void doDropCollection(MongoCollection collection); - } diff --git a/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/DefaultExecute.java b/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/DefaultExecute.java index 184fcf6..6288517 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/DefaultExecute.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/DefaultExecute.java @@ -154,9 +154,4 @@ public class DefaultExecute implements Execute { public void doDropIndexes(DropIndexOptions dropIndexOptions, MongoCollection collection) { collection.dropIndexes(dropIndexOptions); } - - @Override - public void doDropCollection(MongoCollection collection) { - collection.drop(); - } } diff --git a/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/SessionExecute.java b/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/SessionExecute.java index 2ced507..4d94eed 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/SessionExecute.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/execute/instance/SessionExecute.java @@ -168,9 +168,4 @@ public class SessionExecute implements Execute { MongoCollection collection) { collection.dropIndexes(clientSession,dropIndexOptions); } - - @Override - public void doDropCollection(MongoCollection collection) { - collection.drop(clientSession); - } } diff --git a/mongo-plus-core/src/main/java/com/mongoplus/mapper/AbstractBaseMapper.java b/mongo-plus-core/src/main/java/com/mongoplus/mapper/AbstractBaseMapper.java index d079f39..a60f90c 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/mapper/AbstractBaseMapper.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/mapper/AbstractBaseMapper.java @@ -32,8 +32,8 @@ import com.mongoplus.model.PageParam; import com.mongoplus.model.PageResult; import com.mongoplus.model.command.ParseCommand; import com.mongoplus.parser.CommandParse; -import com.mongoplus.toolkit.*; import com.mongoplus.toolkit.Filters; +import com.mongoplus.toolkit.*; import org.bson.Document; import org.bson.conversions.Bson; @@ -556,9 +556,5 @@ public abstract class AbstractBaseMapper extends DefaultBaseIndexImpl implements ); } - @Override - public void dropCollection(String database, String collectionName) { - factory.getExecute().doDropCollection(mongoPlusClient.getCollection(database, collectionName)); - } } diff --git a/mongo-plus-core/src/main/java/com/mongoplus/mapper/BaseMapper.java b/mongo-plus-core/src/main/java/com/mongoplus/mapper/BaseMapper.java index 45bf8e3..5da53a6 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/mapper/BaseMapper.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/mapper/BaseMapper.java @@ -624,10 +624,4 @@ public interface BaseMapper extends Mapper { */ long count(Class clazz); - /** - * 删除集合 - */ - void dropCollection(Class clazz); - - } diff --git a/mongo-plus-core/src/main/java/com/mongoplus/mapper/DefaultBaseMapperImpl.java b/mongo-plus-core/src/main/java/com/mongoplus/mapper/DefaultBaseMapperImpl.java index 696f401..0326537 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/mapper/DefaultBaseMapperImpl.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/mapper/DefaultBaseMapperImpl.java @@ -280,9 +280,4 @@ public class DefaultBaseMapperImpl extends AbstractBaseMapper { return getByColumn(namespace.left, namespace.right, column, value, typeReference); } - @Override - public void dropCollection(Class clazz) { - MutablePair namespace = getNamespace(clazz); - dropCollection(namespace.getLeft(), namespace.getRight()); - } } diff --git a/mongo-plus-core/src/main/java/com/mongoplus/mapper/Mapper.java b/mongo-plus-core/src/main/java/com/mongoplus/mapper/Mapper.java index 46ae13d..51434a3 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/mapper/Mapper.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/mapper/Mapper.java @@ -397,6 +397,4 @@ public interface Mapper extends SuperMapper { return count(EMPTY,collectionName); } - void dropCollection(String databaseName, String collectionName); - } -- Gitee From 28062be6bc6ac9750851f5fd8af011ba5729fdbd Mon Sep 17 00:00:00 2001 From: amadeus5201 <1491459939@qq.com> Date: Tue, 25 Mar 2025 15:25:33 +0800 Subject: [PATCH 3/3] =?UTF-8?q?perf:=20MongoPlusClient=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0dropCollection?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mongoplus/manager/MongoPlusClient.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/mongo-plus-core/src/main/java/com/mongoplus/manager/MongoPlusClient.java b/mongo-plus-core/src/main/java/com/mongoplus/manager/MongoPlusClient.java index e26557a..953a113 100644 --- a/mongo-plus-core/src/main/java/com/mongoplus/manager/MongoPlusClient.java +++ b/mongo-plus-core/src/main/java/com/mongoplus/manager/MongoPlusClient.java @@ -12,10 +12,7 @@ import com.mongoplus.model.BaseProperty; import com.mongoplus.toolkit.StringUtils; import org.bson.Document; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; @@ -198,6 +195,15 @@ public class MongoPlusClient { this.mongoDatabase = mongoDatabase; } + + public void dropCollection(Class clazz) { + Optional.ofNullable(getCollectionManager(clazz).getCollection(clazz)).ifPresent(MongoCollection::drop); + } + + public void dropCollection(String database, String collectionName) { + Optional.ofNullable(getCollectionManager(database).getCollection(collectionName)).ifPresent(MongoCollection::drop); + } + @Override public String toString() { return "ConnectionManager{" + -- Gitee