diff --git a/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/conditions/AbstractChainWrapper.java b/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/conditions/AbstractChainWrapper.java index e9c809f..3bbcb33 100644 --- a/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/conditions/AbstractChainWrapper.java +++ b/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/conditions/AbstractChainWrapper.java @@ -2,7 +2,27 @@ package org.dromara.milvus.plus.core.conditions; import lombok.Data; +import java.util.Iterator; +import java.util.NoSuchElementException; + @Data public abstract class AbstractChainWrapper extends ConditionBuilder{ + protected static class ArrayIterator implements Iterator { + private final T[] array; + private int index = 0; + public ArrayIterator(T[] array) { + this.array = array; + } + @Override + public boolean hasNext() { + return index < array.length; + } + + @Override + public T next() { + if (!hasNext()) throw new NoSuchElementException(); + return array[index++]; + } + } } diff --git a/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/conditions/LambdaInsertWrapper.java b/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/conditions/LambdaInsertWrapper.java index ee82592..e314822 100644 --- a/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/conditions/LambdaInsertWrapper.java +++ b/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/conditions/LambdaInsertWrapper.java @@ -2,10 +2,6 @@ package org.dromara.milvus.plus.core.conditions; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import org.dromara.milvus.plus.cache.ConversionCache; -import org.dromara.milvus.plus.cache.PropertyCache; -import org.dromara.milvus.plus.core.FieldFunction; -import org.dromara.milvus.plus.model.vo.MilvusResp; import io.milvus.exception.MilvusException; import io.milvus.v2.client.MilvusClientV2; import io.milvus.v2.service.vector.request.InsertReq; @@ -13,6 +9,10 @@ import io.milvus.v2.service.vector.response.InsertResp; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.dromara.milvus.plus.cache.ConversionCache; +import org.dromara.milvus.plus.cache.PropertyCache; +import org.dromara.milvus.plus.core.FieldFunction; +import org.dromara.milvus.plus.model.vo.MilvusResp; import java.util.*; @@ -83,7 +83,10 @@ public class LambdaInsertWrapper extends AbstractChainWrapper implements resp.setSuccess(true); return resp; } - + public MilvusResp insert(T ... entity) throws MilvusException { + Iterator iterator = new ArrayIterator<>(entity); + return insert(iterator); + } public MilvusResp insert(Iterator iterator) throws MilvusException { PropertyCache propertyCache = conversionCache.getPropertyCache(); List jsonObjects=new ArrayList<>(); diff --git a/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/conditions/LambdaUpdateWrapper.java b/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/conditions/LambdaUpdateWrapper.java index 9e5bc9b..366781d 100644 --- a/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/conditions/LambdaUpdateWrapper.java +++ b/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/conditions/LambdaUpdateWrapper.java @@ -2,11 +2,6 @@ package org.dromara.milvus.plus.core.conditions; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import org.dromara.milvus.plus.cache.CollectionToPrimaryCache; -import org.dromara.milvus.plus.cache.ConversionCache; -import org.dromara.milvus.plus.cache.PropertyCache; -import org.dromara.milvus.plus.core.FieldFunction; -import org.dromara.milvus.plus.model.vo.MilvusResp; import io.milvus.exception.MilvusException; import io.milvus.v2.client.MilvusClientV2; import io.milvus.v2.service.vector.request.SearchReq; @@ -16,6 +11,11 @@ import io.milvus.v2.service.vector.response.UpsertResp; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.dromara.milvus.plus.cache.CollectionToPrimaryCache; +import org.dromara.milvus.plus.cache.ConversionCache; +import org.dromara.milvus.plus.cache.PropertyCache; +import org.dromara.milvus.plus.core.FieldFunction; +import org.dromara.milvus.plus.model.vo.MilvusResp; import java.util.ArrayList; import java.util.Iterator; @@ -404,7 +404,10 @@ public class LambdaUpdateWrapper extends AbstractChainWrapper implements resp.setSuccess(true); return resp; } - + public MilvusResp updateById(T... entity) throws MilvusException { + Iterator iterator = new ArrayIterator<>(entity); + return updateById(iterator); + } public MilvusResp updateById(Iterator iterator) throws MilvusException { PropertyCache propertyCache = conversionCache.getPropertyCache(); String pk = CollectionToPrimaryCache.collectionToPrimary.get(collectionName); diff --git a/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/mapper/BaseMilvusMapper.java b/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/mapper/BaseMilvusMapper.java index e795666..d6e1da7 100644 --- a/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/mapper/BaseMilvusMapper.java +++ b/milvus-plus-core/src/main/java/org/dromara/milvus/plus/core/mapper/BaseMilvusMapper.java @@ -16,9 +16,7 @@ import java.io.Serializable; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.Collection; -import java.util.Iterator; import java.util.List; -import java.util.NoSuchElementException; /** * @author xgc @@ -61,25 +59,6 @@ public abstract class BaseMilvusMapper{ public LambdaInsertWrapper insertWrapper() { return lambda(new LambdaInsertWrapper<>()); } - private static class ArrayIterator implements Iterator { - private final T[] array; - private int index = 0; - - public ArrayIterator(T[] array) { - this.array = array; - } - - @Override - public boolean hasNext() { - return index < array.length; - } - - @Override - public T next() { - if (!hasNext()) throw new NoSuchElementException(); - return array[index++]; - } - } public MilvusResp>> getById(Serializable ... ids) { @@ -92,18 +71,15 @@ public abstract class BaseMilvusMapper{ } public MilvusResp insert(T ... entity){ LambdaInsertWrapper lambda = insertWrapper(); - Iterator iterator = new ArrayIterator<>(entity); - return lambda.insert(iterator); + return lambda.insert(entity); } public MilvusResp insert(Collection entity){ LambdaInsertWrapper lambda = insertWrapper(); return lambda.insert(entity.iterator()); } - public MilvusResp updateById(T... entity) { LambdaUpdateWrapper lambda = updateWrapper(); - Iterator iterator = new ArrayIterator<>(entity); - return lambda.updateById(iterator); + return lambda.updateById(entity); } public MilvusResp updateById(Collection entity) { LambdaUpdateWrapper lambda = updateWrapper();