|
@@ -15,18 +15,28 @@
|
|
|
*/
|
|
|
package com.baomidou.mybatisplus.extension.toolkit;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.LambdaUtils;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
|
|
-
|
|
|
-import java.util.*;
|
|
|
-import java.util.function.*;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.EnumSet;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Optional;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.function.BiConsumer;
|
|
|
+import java.util.function.BinaryOperator;
|
|
|
+import java.util.function.Consumer;
|
|
|
+import java.util.function.Function;
|
|
|
+import java.util.function.Supplier;
|
|
|
import java.util.stream.Collector;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.stream.Stream;
|
|
|
import java.util.stream.StreamSupport;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.LambdaUtils;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
|
|
+
|
|
|
/**
|
|
|
* simple-query 让简单的查询更简单
|
|
|
*
|
|
@@ -55,7 +65,7 @@ public class SimpleQuery {
|
|
|
*/
|
|
|
@SafeVarargs
|
|
|
public static <E, A> Map<A, E> keyMap(LambdaQueryWrapper<E> wrapper, SFunction<E, A> sFunction, Consumer<E>... peeks) {
|
|
|
- return list2Map(selectList(getType(sFunction), wrapper), sFunction, Function.identity(), peeks);
|
|
|
+ return list2Map(Db.list(wrapper.setEntityClass(getType(sFunction))), sFunction, Function.identity(), peeks);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -71,7 +81,7 @@ public class SimpleQuery {
|
|
|
*/
|
|
|
@SafeVarargs
|
|
|
public static <E, A> Map<A, E> keyMap(LambdaQueryWrapper<E> wrapper, SFunction<E, A> sFunction, boolean isParallel, Consumer<E>... peeks) {
|
|
|
- return list2Map(selectList(getType(sFunction), wrapper), sFunction, Function.identity(), isParallel, peeks);
|
|
|
+ return list2Map(Db.list(wrapper.setEntityClass(getType(sFunction))), sFunction, Function.identity(), isParallel, peeks);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -79,7 +89,7 @@ public class SimpleQuery {
|
|
|
*/
|
|
|
@SafeVarargs
|
|
|
public static <E, A, P> Map<A, P> map(LambdaQueryWrapper<E> wrapper, SFunction<E, A> keyFunc, SFunction<E, P> valueFunc, Consumer<E>... peeks) {
|
|
|
- return list2Map(selectList(getType(keyFunc), wrapper), keyFunc, valueFunc, peeks);
|
|
|
+ return list2Map(Db.list(wrapper.setEntityClass(getType(keyFunc))), keyFunc, valueFunc, peeks);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -97,7 +107,7 @@ public class SimpleQuery {
|
|
|
*/
|
|
|
@SafeVarargs
|
|
|
public static <E, A, P> Map<A, P> map(LambdaQueryWrapper<E> wrapper, SFunction<E, A> keyFunc, SFunction<E, P> valueFunc, boolean isParallel, Consumer<E>... peeks) {
|
|
|
- return list2Map(selectList(getType(keyFunc), wrapper), keyFunc, valueFunc, isParallel, peeks);
|
|
|
+ return list2Map(Db.list(wrapper.setEntityClass(getType(keyFunc))), keyFunc, valueFunc, isParallel, peeks);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -105,7 +115,7 @@ public class SimpleQuery {
|
|
|
*/
|
|
|
@SafeVarargs
|
|
|
public static <E, A> Map<A, List<E>> group(LambdaQueryWrapper<E> wrapper, SFunction<E, A> sFunction, Consumer<E>... peeks) {
|
|
|
- return listGroupBy(selectList(getType(sFunction), wrapper), sFunction, peeks);
|
|
|
+ return listGroupBy(Db.list(wrapper.setEntityClass(getType(sFunction))), sFunction, peeks);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -113,7 +123,7 @@ public class SimpleQuery {
|
|
|
*/
|
|
|
@SafeVarargs
|
|
|
public static <T, K> Map<K, List<T>> group(LambdaQueryWrapper<T> wrapper, SFunction<T, K> sFunction, boolean isParallel, Consumer<T>... peeks) {
|
|
|
- return listGroupBy(selectList(getType(sFunction), wrapper), sFunction, isParallel, peeks);
|
|
|
+ return listGroupBy(Db.list(wrapper.setEntityClass(getType(sFunction))), sFunction, isParallel, peeks);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -121,7 +131,7 @@ public class SimpleQuery {
|
|
|
*/
|
|
|
@SafeVarargs
|
|
|
public static <T, K, D, A> Map<K, D> group(LambdaQueryWrapper<T> wrapper, SFunction<T, K> sFunction, Collector<T, A, D> downstream, Consumer<T>... peeks) {
|
|
|
- return listGroupBy(selectList(getType(sFunction), wrapper), sFunction, downstream, false, peeks);
|
|
|
+ return listGroupBy(Db.list(wrapper.setEntityClass(getType(sFunction))), sFunction, downstream, false, peeks);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -140,7 +150,7 @@ public class SimpleQuery {
|
|
|
*/
|
|
|
@SafeVarargs
|
|
|
public static <T, K, D, A> Map<K, D> group(LambdaQueryWrapper<T> wrapper, SFunction<T, K> sFunction, Collector<T, A, D> downstream, boolean isParallel, Consumer<T>... peeks) {
|
|
|
- return listGroupBy(selectList(getType(sFunction), wrapper), sFunction, downstream, isParallel, peeks);
|
|
|
+ return listGroupBy(Db.list(wrapper.setEntityClass(getType(sFunction))), sFunction, downstream, isParallel, peeks);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -148,7 +158,7 @@ public class SimpleQuery {
|
|
|
*/
|
|
|
@SafeVarargs
|
|
|
public static <E, A> List<A> list(LambdaQueryWrapper<E> wrapper, SFunction<E, A> sFunction, Consumer<E>... peeks) {
|
|
|
- return list2List(selectList(getType(sFunction), wrapper), sFunction, peeks);
|
|
|
+ return list2List(Db.list(wrapper.setEntityClass(getType(sFunction))), sFunction, peeks);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -163,7 +173,7 @@ public class SimpleQuery {
|
|
|
*/
|
|
|
@SafeVarargs
|
|
|
public static <E, A> List<A> list(LambdaQueryWrapper<E> wrapper, SFunction<E, A> sFunction, boolean isParallel, Consumer<E>... peeks) {
|
|
|
- return list2List(selectList(getType(sFunction), wrapper), sFunction, isParallel, peeks);
|
|
|
+ return list2List(Db.list(wrapper.setEntityClass(getType(sFunction))), sFunction, isParallel, peeks);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -317,16 +327,4 @@ public class SimpleQuery {
|
|
|
return Stream.of(peeks).reduce(StreamSupport.stream(list.spliterator(), isParallel), Stream::peek, Stream::concat);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 通过entityClass查询列表,并关闭sqlSession
|
|
|
- *
|
|
|
- * @param entityClass 表对应实体
|
|
|
- * @param wrapper 条件构造器
|
|
|
- * @param <E> 实体类型
|
|
|
- * @return 查询列表结果
|
|
|
- */
|
|
|
- public static <E> List<E> selectList(Class<E> entityClass, LambdaQueryWrapper<E> wrapper) {
|
|
|
- return SqlHelper.execute(entityClass, m -> m.selectList(wrapper));
|
|
|
- }
|
|
|
-
|
|
|
}
|