diff --git a/mybatis-flex-annotation/pom.xml b/mybatis-flex-annotation/pom.xml index bf8fa81f..92d91ce8 100644 --- a/mybatis-flex-annotation/pom.xml +++ b/mybatis-flex-annotation/pom.xml @@ -5,7 +5,7 @@ parent com.mybatis-flex - 1.5.6 + 1.5.7 4.0.0 diff --git a/mybatis-flex-codegen/pom.xml b/mybatis-flex-codegen/pom.xml index 0a260491..5a4fbb17 100644 --- a/mybatis-flex-codegen/pom.xml +++ b/mybatis-flex-codegen/pom.xml @@ -5,7 +5,7 @@ parent com.mybatis-flex - 1.5.6 + 1.5.7 4.0.0 diff --git a/mybatis-flex-core/pom.xml b/mybatis-flex-core/pom.xml index 7f4f4f04..61c2dfcb 100644 --- a/mybatis-flex-core/pom.xml +++ b/mybatis-flex-core/pom.xml @@ -5,7 +5,7 @@ parent com.mybatis-flex - 1.5.6 + 1.5.7 4.0.0 diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/FlexConsts.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/FlexConsts.java index beef3fe2..5221b905 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/FlexConsts.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/FlexConsts.java @@ -27,7 +27,7 @@ public class FlexConsts { } public static final String NAME = "MyBatis-Flex"; - public static final String VERSION = "1.5.6"; + public static final String VERSION = "1.5.7"; public static final String SQL = "$$sql"; diff --git a/mybatis-flex-kotlin/pom.xml b/mybatis-flex-kotlin/pom.xml index ddfac86d..e43a5a22 100755 --- a/mybatis-flex-kotlin/pom.xml +++ b/mybatis-flex-kotlin/pom.xml @@ -6,7 +6,7 @@ com.mybatis-flex parent - 1.5.6 + 1.5.7 mybatis-flex-kotlin diff --git a/mybatis-flex-processor/pom.xml b/mybatis-flex-processor/pom.xml index 897deaec..b50270a0 100644 --- a/mybatis-flex-processor/pom.xml +++ b/mybatis-flex-processor/pom.xml @@ -5,7 +5,7 @@ parent com.mybatis-flex - 1.5.6 + 1.5.7 4.0.0 diff --git a/mybatis-flex-solon-plugin/pom.xml b/mybatis-flex-solon-plugin/pom.xml index ac859fbe..c7db9919 100644 --- a/mybatis-flex-solon-plugin/pom.xml +++ b/mybatis-flex-solon-plugin/pom.xml @@ -5,7 +5,7 @@ parent com.mybatis-flex - 1.5.6 + 1.5.7 4.0.0 diff --git a/mybatis-flex-spring-boot-starter/pom.xml b/mybatis-flex-spring-boot-starter/pom.xml index c3c4f1dc..81ed16d5 100644 --- a/mybatis-flex-spring-boot-starter/pom.xml +++ b/mybatis-flex-spring-boot-starter/pom.xml @@ -5,7 +5,7 @@ parent com.mybatis-flex - 1.5.6 + 1.5.7 4.0.0 diff --git a/mybatis-flex-spring/pom.xml b/mybatis-flex-spring/pom.xml index fb132737..fabfebcc 100644 --- a/mybatis-flex-spring/pom.xml +++ b/mybatis-flex-spring/pom.xml @@ -5,7 +5,7 @@ parent com.mybatis-flex - 1.5.6 + 1.5.7 4.0.0 diff --git a/mybatis-flex-test/mybatis-flex-native-test/pom.xml b/mybatis-flex-test/mybatis-flex-native-test/pom.xml index c11deee3..48d41039 100644 --- a/mybatis-flex-test/mybatis-flex-native-test/pom.xml +++ b/mybatis-flex-test/mybatis-flex-native-test/pom.xml @@ -5,7 +5,7 @@ mybatis-flex-test com.mybatis-flex - 1.5.6 + 1.5.7 4.0.0 diff --git a/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/LambdaTester.java b/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/LambdaTester.java new file mode 100644 index 00000000..cabb5211 --- /dev/null +++ b/mybatis-flex-test/mybatis-flex-native-test/src/main/java/com/mybatisflex/test/LambdaTester.java @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2022-2023, Mybatis-Flex (fuhai999@gmail.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.mybatisflex.test; + +import com.mybatisflex.core.util.ClassUtil; + +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.BiConsumer; +import java.util.function.Function; + +public class LambdaTester { + + static Function> getArticles = Account::getArticles; + static BiConsumer> setArticles = Account::setArticles; + + static Map> getters = new HashMap<>(); + { + getters.put("getArticles",getArticles); + } + static Map> setters = new HashMap<>(); + { + setters.put("setArticles",setArticles); + } + + public static void main(String[] args) throws Exception { + + LambdaTester a = new LambdaTester(); + +// Function getArticles = JavaTester.getArticles; + Function getArticles =getters.get("getArticles"); + + Account account = new Account(); + + Method method = ClassUtil.getFirstMethod(Account.class, method1 -> "getArticles".equals(method1.getName())); + + + method.invoke(account); + List

apply = ( List
)getArticles.apply(account); + + + long timeMillis = System.currentTimeMillis(); + for (int i = 0; i < 100000000; i++) { + List
apply1 = (List
) method.invoke(account); + } + + System.out.println(">>>>> invoke: " +(System.currentTimeMillis() - timeMillis)); + + timeMillis = System.currentTimeMillis(); + for (int i = 0; i < 100000000; i++) { + List
apply2 = ( List
)getArticles.apply(account); + } + + System.out.println(">>>>> apply: " +(System.currentTimeMillis() - timeMillis)); + } + + +// public static interface FlexFunction{ +// R apply(T t); +// } + +} diff --git a/mybatis-flex-test/mybatis-flex-seata-test/pom.xml b/mybatis-flex-test/mybatis-flex-seata-test/pom.xml index af3998bc..ed1a9e66 100644 --- a/mybatis-flex-test/mybatis-flex-seata-test/pom.xml +++ b/mybatis-flex-test/mybatis-flex-seata-test/pom.xml @@ -4,7 +4,7 @@ mybatis-flex-test com.mybatis-flex - 1.5.6 + 1.5.7 4.0.0 diff --git a/mybatis-flex-test/mybatis-flex-spring-boot-test/pom.xml b/mybatis-flex-test/mybatis-flex-spring-boot-test/pom.xml index 563530bd..955dc055 100644 --- a/mybatis-flex-test/mybatis-flex-spring-boot-test/pom.xml +++ b/mybatis-flex-test/mybatis-flex-spring-boot-test/pom.xml @@ -5,7 +5,7 @@ mybatis-flex-test com.mybatis-flex - 1.5.6 + 1.5.7 4.0.0 diff --git a/mybatis-flex-test/mybatis-flex-spring-cloud-test/pom.xml b/mybatis-flex-test/mybatis-flex-spring-cloud-test/pom.xml index 1f0c111e..11284ce1 100644 --- a/mybatis-flex-test/mybatis-flex-spring-cloud-test/pom.xml +++ b/mybatis-flex-test/mybatis-flex-spring-cloud-test/pom.xml @@ -4,7 +4,7 @@ mybatis-flex-test com.mybatis-flex - 1.5.6 + 1.5.7 4.0.0 diff --git a/mybatis-flex-test/mybatis-flex-spring-kotlin-test/pom.xml b/mybatis-flex-test/mybatis-flex-spring-kotlin-test/pom.xml index 45b4b173..9d8364c3 100755 --- a/mybatis-flex-test/mybatis-flex-spring-kotlin-test/pom.xml +++ b/mybatis-flex-test/mybatis-flex-spring-kotlin-test/pom.xml @@ -6,7 +6,7 @@ com.mybatis-flex mybatis-flex-test - 1.5.6 + 1.5.7 mybatis-flex-spring-kotlin-test diff --git a/mybatis-flex-test/mybatis-flex-spring-test/pom.xml b/mybatis-flex-test/mybatis-flex-spring-test/pom.xml index c1df715f..b7681250 100644 --- a/mybatis-flex-test/mybatis-flex-spring-test/pom.xml +++ b/mybatis-flex-test/mybatis-flex-spring-test/pom.xml @@ -5,7 +5,7 @@ mybatis-flex-test com.mybatis-flex - 1.5.6 + 1.5.7 4.0.0 diff --git a/mybatis-flex-test/pom.xml b/mybatis-flex-test/pom.xml index 2a7c88c0..825bbeb5 100644 --- a/mybatis-flex-test/pom.xml +++ b/mybatis-flex-test/pom.xml @@ -5,7 +5,7 @@ parent com.mybatis-flex - 1.5.6 + 1.5.7 4.0.0