From 026c64ee59de63bd8ab5c4daf947a72c0ee8594e Mon Sep 17 00:00:00 2001 From: yulichang <570810310@qq.com> Date: Mon, 7 Aug 2023 16:35:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../github/yulichang/kt/KtLambdaWrapper.java | 8 +- .../yulichang/kt/segments/FuncArgs.java | 1 + .../yulichang/toolkit/JoinWrappers.java | 73 --- ...wWrapperUtils.java => KtWrapperUtils.java} | 5 +- .../github/yulichang/toolkit/KtWrappers.java | 83 ++++ .../src/main/resources/application.yml | 2 +- .../test/join/LambdaWrapperTest.java | 5 +- mybatis-plus-join-test/test-kotlin/pom.xml | 2 +- .../yulichang/test/kt/LambdaWrapperTest.kt | 435 +++++++++--------- 9 files changed, 313 insertions(+), 301 deletions(-) rename mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/{KtwWrapperUtils.java => KtWrapperUtils.java} (97%) create mode 100644 mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtWrappers.java diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtLambdaWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtLambdaWrapper.java index 98a60a7..32b231d 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtLambdaWrapper.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtLambdaWrapper.java @@ -8,7 +8,7 @@ import com.github.yulichang.kt.interfaces.Query; import com.github.yulichang.kt.interfaces.QueryLabel; import com.github.yulichang.toolkit.Constant; import com.github.yulichang.toolkit.KtUtils; -import com.github.yulichang.toolkit.KtwWrapperUtils; +import com.github.yulichang.toolkit.KtWrapperUtils; import com.github.yulichang.toolkit.TableList; import com.github.yulichang.toolkit.support.ColumnCache; import com.github.yulichang.wrapper.interfaces.Chain; @@ -203,7 +203,7 @@ public class KtLambdaWrapper extends KtAbstractLambdaWrapper extends KtAbstractLambdaWrapper entityClass = wrapper.getEntityClass(); Assert.notNull(entityClass, "请使用 new MPJLambdaWrapper(主表.class) 或 JoinWrappers.lambda(主表.class) 构造方法"); sb.append(" UNION ") - .append(KtwWrapperUtils.buildUnionSqlByWrapper(entityClass, wrapper)); + .append(KtWrapperUtils.buildUnionSqlByWrapper(entityClass, wrapper)); } if (Objects.isNull(unionSql)) { unionSql = SharedString.emptyString(); @@ -237,7 +237,7 @@ public class KtLambdaWrapper extends KtAbstractLambdaWrapper entityClass = wrapper.getEntityClass(); Assert.notNull(entityClass, "请使用 new MPJLambdaWrapper(主表.class) 或 JoinWrappers.lambda(主表.class) 构造方法"); sb.append(" UNION ALL ") - .append(KtwWrapperUtils.buildUnionSqlByWrapper(entityClass, wrapper)); + .append(KtWrapperUtils.buildUnionSqlByWrapper(entityClass, wrapper)); } if (Objects.isNull(unionSql)) { unionSql = SharedString.emptyString(); diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/segments/FuncArgs.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/segments/FuncArgs.java index e627dad..dfe52da 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/segments/FuncArgs.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/segments/FuncArgs.java @@ -12,6 +12,7 @@ import java.util.Arrays; * @author yulichang * @since 1.4.6 */ +@SuppressWarnings("unused") public class FuncArgs { public SelectFunc.Arg[] accept(KProperty... kProperty) { diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/JoinWrappers.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/JoinWrappers.java index 7a40f62..b2eac1e 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/JoinWrappers.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/JoinWrappers.java @@ -1,8 +1,5 @@ package com.github.yulichang.toolkit; -import com.github.yulichang.kt.KtDeleteJoinWrapper; -import com.github.yulichang.kt.KtLambdaWrapper; -import com.github.yulichang.kt.KtUpdateJoinWrapper; import com.github.yulichang.query.MPJQueryWrapper; import com.github.yulichang.wrapper.DeleteJoinWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -105,74 +102,4 @@ public class JoinWrappers { public static UpdateJoinWrapper update(String alias, Class clazz) { return new UpdateJoinWrapper<>(clazz, alias); } - - /** - * JoinWrappers.kt(User.class) - */ - public static KtLambdaWrapper kt(Class clazz) { - return new KtLambdaWrapper<>(clazz); - } - - /** - * JoinWrappers.kt("t", User.class) - */ - public static KtLambdaWrapper kt(String alias, Class clazz) { - return new KtLambdaWrapper<>(clazz, alias); - } - - /** - * JoinWrappers.kt(user) - */ - public static KtLambdaWrapper kt(T entity) { - return new KtLambdaWrapper<>(entity); - } - - /** - * JoinWrappers.kt("t", user) - */ - public static KtLambdaWrapper kt(String alias, T entity) { - return new KtLambdaWrapper<>(entity, alias); - } - - /** - * JoinWrappers.ktUpdate(User.class) - */ - public static KtUpdateJoinWrapper ktUpdate(Class clazz) { - return new KtUpdateJoinWrapper<>(clazz); - } - - /** - * JoinWrappers.ktUpdate("t", User.class) - */ - public static KtUpdateJoinWrapper ktUpdate(String alias, Class clazz) { - return new KtUpdateJoinWrapper<>(clazz, alias); - } - - /** - * JoinWrappers.ktUpdate(user) - */ - public static KtUpdateJoinWrapper ktUpdate(T entity) { - return new KtUpdateJoinWrapper<>(entity); - } - - /** - * JoinWrappers.ktUpdate("t", user) - */ - public static KtUpdateJoinWrapper ktUpdate(String alias, T entity) { - return new KtUpdateJoinWrapper<>(entity, alias); - } - - /** - * JoinWrappers.ktDelete(User.class) - */ - public static KtDeleteJoinWrapper ktDelete(Class clazz) { - return new KtDeleteJoinWrapper<>(clazz); - } - - /** - * JoinWrappers.ktUpdate("t", User.class) - */ - public static KtDeleteJoinWrapper ktDelete(String alias, Class clazz) { - return new KtDeleteJoinWrapper<>(clazz, alias); - } } diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtwWrapperUtils.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtWrapperUtils.java similarity index 97% rename from mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtwWrapperUtils.java rename to mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtWrapperUtils.java index 90b2bb8..4a3a96b 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtwWrapperUtils.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtWrapperUtils.java @@ -16,8 +16,9 @@ import java.util.Optional; * @author yulichang * @since 1.4.6 */ -public class KtwWrapperUtils { +public class KtWrapperUtils { + @SuppressWarnings("DuplicatedCode") public static String buildSubSqlByWrapper(Class clazz, KtLambdaWrapper wrapper, String alias) { TableInfo tableInfo = TableHelper.get(clazz); Asserts.hasTable(tableInfo, clazz); @@ -52,6 +53,7 @@ public class KtwWrapperUtils { alias); } + @SuppressWarnings("DuplicatedCode") public static String buildUnionSqlByWrapper(Class clazz, KtLambdaWrapper wrapper) { TableInfo tableInfo = TableHelper.get(clazz); Asserts.hasTable(tableInfo, clazz); @@ -92,6 +94,7 @@ public class KtwWrapperUtils { return SqlScriptUtils.safeParam(paramStr, null); } + @SuppressWarnings("DuplicatedCode") private static String getEntitySql(TableInfo tableInfo, KtLambdaWrapper wrapper) { Object obj = wrapper.getEntity(); if (Objects.isNull(obj)) { diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtWrappers.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtWrappers.java new file mode 100644 index 0000000..05e580e --- /dev/null +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/KtWrappers.java @@ -0,0 +1,83 @@ +package com.github.yulichang.toolkit; + +import com.github.yulichang.kt.KtDeleteJoinWrapper; +import com.github.yulichang.kt.KtLambdaWrapper; +import com.github.yulichang.kt.KtUpdateJoinWrapper; + +/** + * @author yulichang + * @since 1.4.6 + */ +@SuppressWarnings("unused") +public final class KtWrappers { + + /** + * KtWrappers.kt(User.class) + */ + public static KtLambdaWrapper query(Class clazz) { + return new KtLambdaWrapper<>(clazz); + } + + /** + * KtWrappers.kt("t", User.class) + */ + public static KtLambdaWrapper query(String alias, Class clazz) { + return new KtLambdaWrapper<>(clazz, alias); + } + + /** + * KtWrappers.kt(user) + */ + public static KtLambdaWrapper query(T entity) { + return new KtLambdaWrapper<>(entity); + } + + /** + * KtWrappers.kt("t", user) + */ + public static KtLambdaWrapper query(String alias, T entity) { + return new KtLambdaWrapper<>(entity, alias); + } + + /** + * KtWrappers.ktUpdate(User.class) + */ + public static KtUpdateJoinWrapper update(Class clazz) { + return new KtUpdateJoinWrapper<>(clazz); + } + + /** + * KtWrappers.ktUpdate("t", User.class) + */ + public static KtUpdateJoinWrapper update(String alias, Class clazz) { + return new KtUpdateJoinWrapper<>(clazz, alias); + } + + /** + * KtWrappers.ktUpdate(user) + */ + public static KtUpdateJoinWrapper update(T entity) { + return new KtUpdateJoinWrapper<>(entity); + } + + /** + * KtWrappers.ktUpdate("t", user) + */ + public static KtUpdateJoinWrapper update(String alias, T entity) { + return new KtUpdateJoinWrapper<>(entity, alias); + } + + /** + * KtWrappers.ktDelete(User.class) + */ + public static KtDeleteJoinWrapper delete(Class clazz) { + return new KtDeleteJoinWrapper<>(clazz); + } + + /** + * KtWrappers.ktUpdate("t", User.class) + */ + public static KtDeleteJoinWrapper delete(String alias, Class clazz) { + return new KtDeleteJoinWrapper<>(clazz, alias); + } +} diff --git a/mybatis-plus-join-test/test-join/src/main/resources/application.yml b/mybatis-plus-join-test/test-join/src/main/resources/application.yml index 0a5fa5d..fd8acff 100644 --- a/mybatis-plus-join-test/test-join/src/main/resources/application.yml +++ b/mybatis-plus-join-test/test-join/src/main/resources/application.yml @@ -31,4 +31,4 @@ mybatis-plus-join: banner: true sub-table-logic: true ms-cache: true - logic-del-type: where \ No newline at end of file + logic-del-type: where diff --git a/mybatis-plus-join-test/test-join/src/test/java/com/github/yulichang/test/join/LambdaWrapperTest.java b/mybatis-plus-join-test/test-join/src/test/java/com/github/yulichang/test/join/LambdaWrapperTest.java index e2bdfa3..9b27ce1 100644 --- a/mybatis-plus-join-test/test-join/src/test/java/com/github/yulichang/test/join/LambdaWrapperTest.java +++ b/mybatis-plus-join-test/test-join/src/test/java/com/github/yulichang/test/join/LambdaWrapperTest.java @@ -521,11 +521,12 @@ class LambdaWrapperTest { */ @Test void testObj() { - ThreadLocalUtils.set("SELECT DISTINCT t1.id FROM `user` t LEFT JOIN `user` t1 ON (t1.pid = t.id) WHERE t.del=false AND t1.del=false"); + ThreadLocalUtils.set("SELECT DISTINCT t.id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false ORDER BY t.id DESC"); MPJLambdaWrapper wrapper = new MPJLambdaWrapper() .distinct() .select(UserDO::getId) - .leftJoin(UserDO.class, UserDO::getPid, UserDO::getId); + .leftJoin(AddressDO.class, AddressDO::getUserId, UserDO::getId) + .orderByDesc(UserDO::getId); List list = userMapper.selectObjs(wrapper); } diff --git a/mybatis-plus-join-test/test-kotlin/pom.xml b/mybatis-plus-join-test/test-kotlin/pom.xml index e046035..2c51cb1 100644 --- a/mybatis-plus-join-test/test-kotlin/pom.xml +++ b/mybatis-plus-join-test/test-kotlin/pom.xml @@ -36,7 +36,7 @@ org.jetbrains.kotlin - kotlin-test + kotlin-test-junit 1.8.21 test diff --git a/mybatis-plus-join-test/test-kotlin/src/test/com/github/yulichang/test/kt/LambdaWrapperTest.kt b/mybatis-plus-join-test/test-kotlin/src/test/com/github/yulichang/test/kt/LambdaWrapperTest.kt index d7febc9..912c69f 100644 --- a/mybatis-plus-join-test/test-kotlin/src/test/com/github/yulichang/test/kt/LambdaWrapperTest.kt +++ b/mybatis-plus-join-test/test-kotlin/src/test/com/github/yulichang/test/kt/LambdaWrapperTest.kt @@ -15,7 +15,7 @@ import com.github.yulichang.test.kt.mapper.UserDTOMapper import com.github.yulichang.test.kt.mapper.UserMapper import com.github.yulichang.test.util.Reset import com.github.yulichang.test.util.ThreadLocalUtils -import com.github.yulichang.toolkit.JoinWrappers +import com.github.yulichang.toolkit.KtWrappers import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired @@ -32,10 +32,7 @@ import java.util.* *

* 移除了mybatis-plus 逻辑删除支持,逻辑删除需要在连表查询时自己添加对应的条件 */ -@Suppress( - "all", "unused", "UNUSED_VARIABLE", "PLATFORM_CLASS_MAPPED_TO_KOTLIN", - "SpringJavaInjectionPointsAutowiringInspection" -) +@Suppress("all") @SpringBootTest class LambdaWrapperTest { @Autowired @@ -91,7 +88,7 @@ class LambdaWrapperTest { " AND (t.id <= ?)\n" + "ORDER BY t.id DESC" ) - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .selectAll(UserDO::class.java) .selectCollection(AddressDO::class.java, UserDTO::addressList) { addr -> addr.association(AreaDO::class.java, AddressDTO::area) @@ -99,10 +96,10 @@ class LambdaWrapperTest { .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) .le(UserDO::id, 10000) - .orderByDesc(UserDO::id) - val list = userMapper!!.selectJoinList(UserDTO::class.java, wrapper) - assert(list[0].addressList != null && list[0]!!.addressList!![0].id != null) - list.forEach(System.out::println) + .orderByDesc(UserDO::id) + val list = userMapper!!.selectJoinList(UserDTO::class.java, wrapper) + assert(list[0].addressList != null && list[0]!!.addressList!![0].id != null) + list.forEach(System.out::println) } @Test @@ -127,18 +124,18 @@ class LambdaWrapperTest { " AND t1.del = false\n" + " AND (t.id <= ?)\n" + "ORDER BY t.id DESC" - ) - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .selectAll(UserDO::class.java) .selectCollection(AddressDO::class.java, UserDTO::addressIds) { e -> e.id(AddressDO::id) } .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) .le(UserDO::id, 10000) - .orderByDesc(UserDO::id) - val list = userMapper!!.selectJoinList(UserDTO::class.java, wrapper) - assert(list[0].addressIds != null) - list.forEach(System.out::println) + .orderByDesc(UserDO::id) + val list = userMapper!!.selectJoinList(UserDTO::class.java, wrapper) + assert(list[0].addressIds != null) + list.forEach(System.out::println) } @@ -176,18 +173,18 @@ class LambdaWrapperTest { " AND t1.del = false\n" + " AND t2.del = false\n" + "ORDER BY t.id DESC" - ) - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .selectAll(UserDO::class.java) .selectCollection(AddressDO::class.java, UserDTO::addressList) { addr -> addr.association(AreaDO::class.java, AddressDTO::area) } .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) - .orderByDesc(UserDO::id) - val list = userMapper!!.selectJoinList(UserDTO::class.java, wrapper) - assert(list[0]!!.addressList!![0].id != null) - list.forEach(System.out::println) + .orderByDesc(UserDO::id) + val list = userMapper!!.selectJoinList(UserDTO::class.java, wrapper) + assert(list[0]!!.addressList!![0].id != null) + list.forEach(System.out::println) } /** @@ -203,14 +200,14 @@ class LambdaWrapperTest { "WHERE t.del = false\n" + " AND t1.del = false\n" + " AND t2.del = false" - ) + ) //基本数据类型 和 String - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .select(UserDO::id) .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) - .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) - val list: List = userMapper!!.selectJoinList(Integer::class.java, wrapper) - println(list) + .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) + val list: List = userMapper!!.selectJoinList(Integer::class.java, wrapper) + println(list) ThreadLocalUtils.set( @@ -221,14 +218,14 @@ class LambdaWrapperTest { "WHERE t.del = false\n" + " AND t1.del = false\n" + " AND t2.del = false" - ) + ) //java.sql包下的类 - val wrapper1: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + val wrapper1: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .select(UserDO::createTime) .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) - .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) - val list1: List = userMapper.selectJoinList(Timestamp::class.java, wrapper1) - println(list1) + .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) + val list1: List = userMapper.selectJoinList(Timestamp::class.java, wrapper1) + println(list1) } @@ -253,15 +250,15 @@ class LambdaWrapperTest { " AND t.del = false\n" + " AND (t.id <= ?)\n" + "ORDER BY t.id ASC, t.`name` ASC" - ) - val user = UserDO() - user.id = 1 - val wrapper: KtLambdaWrapper = JoinWrappers.kt(user) + ) + val user = UserDO() + user.id = 1 + val wrapper: KtLambdaWrapper = KtWrappers.query(user) .selectAll(UserDO::class.java) .le(UserDO::id, 100) - .orderByAsc(UserDO::id, UserDO::name) - val list = userMapper!!.selectList(wrapper) - list.forEach(System.out::println) + .orderByAsc(UserDO::id, UserDO::name) + val list = userMapper!!.selectList(wrapper) + list.forEach(System.out::println) } @Test @@ -282,8 +279,8 @@ class LambdaWrapperTest { " AND ub.del = false\n" + " AND uc.del = false\n" + " AND (ua.id <= ? AND ub.id >= ?)" - ) - val wrapper: KtLambdaWrapper = JoinWrappers.kt("tt", UserDto::class.java) + ) + val wrapper: KtLambdaWrapper = KtWrappers.query("tt", UserDto::class.java) .selectAll(UserDto::class.java) .leftJoin(UserDO::class.java, "ua", UserDO::id, UserDto::userId) { ext -> ext.selectAs(UserDO::name, UserDto::userName) @@ -295,11 +292,11 @@ class LambdaWrapperTest { } .leftJoin(UserDO::class.java, "uc", UserDO::id, UserDto::updateBy) { ext -> ext.selectAs(UserDO::name, UserDto::updateName) - } - val userDtos: List = userDTOMapper!!.selectJoinList(UserDto::class.java, wrapper) - assert(StringUtils.isNotBlank(userDtos[0].userName)) - assert(StringUtils.isNotBlank(userDtos[0].createName)) - assert(StringUtils.isNotBlank(userDtos[0].updateName)) + } + val userDtos: List = userDTOMapper!!.selectJoinList(UserDto::class.java, wrapper) + assert(StringUtils.isNotBlank(userDtos[0].userName)) + assert(StringUtils.isNotBlank(userDtos[0].createName)) + assert(StringUtils.isNotBlank(userDtos[0].updateName)) ThreadLocalUtils.set( @@ -326,8 +323,8 @@ class LambdaWrapperTest { " AND ub.del = false\n" + " AND uc.del = false\n" + " AND (ua.head_img = tt.`name` AND tt.id = ua.id)" - ) - val w: KtLambdaWrapper = JoinWrappers.kt("tt", UserDO::class.java) + ) + val w: KtLambdaWrapper = KtWrappers.query("tt", UserDO::class.java) .selectAll(UserDO::class.java) .leftJoin(UserDO::class.java, "ua", UserDO::id, UserDO::pid) { ext -> ext.select(UserDO::id) @@ -337,9 +334,9 @@ class LambdaWrapperTest { ext.select(UserDO::img) } .leftJoin(UserDO::class.java, "uc", UserDO::id, UserDO::updateBy) - .eq(UserDO::id, UserDO::id) - userMapper!!.selectJoinList(UserDO::class.java, w) - println(1) + .eq(UserDO::id, UserDO::id) + userMapper!!.selectJoinList(UserDO::class.java, w) + println(1) } /** @@ -376,16 +373,16 @@ class LambdaWrapperTest { " LEFT JOIN `user` t1 ON (t1.pid = t.id)\n" + "WHERE t.del = false\n" + " AND (t.id > ?)" - ) + ) //自连接 - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .disableSubLogicDel()//关闭副表逻辑删除 .selectAll(UserDO::class.java) .selectCollection(UserDO::class.java, UserDO::children) .leftJoin(UserDO::class.java, UserDO::pid, UserDO::id) - .gt(UserDO::id, 0) - val list: List = userMapper!!.selectJoinList(UserDO::class.java, wrapper) - println(list) + .gt(UserDO::id, 0) + val list: List = userMapper!!.selectJoinList(UserDO::class.java, wrapper) + println(list) ThreadLocalUtils.set( "SELECT t.id,\n" + @@ -406,9 +403,9 @@ class LambdaWrapperTest { " LEFT JOIN `user` t1 ON (t1.id = t.create_by)\n" + " LEFT JOIN `user` t2 ON (t2.id = t.update_by)\n" + "WHERE (t2.id = t.update_by AND t.id = t1.id)" - ) + ) //关联一张表多次 - val wrapper1: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + val wrapper1: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .disableLogicDel() .disableSubLogicDel() .selectAll(UserDO::class.java) @@ -416,13 +413,13 @@ class LambdaWrapperTest { ext.selectAs(UserDO::name, UserDO::createName) } .leftJoin(UserDO::class.java) { on, ext -> - on.eq(UserDO::id, UserDO::updateBy) + on.eq(UserDO::id, UserDO::updateBy) ext.selectAs(UserDO::name, UserDO::updateName) - .eq(UserDO::id, UserDO::updateBy) + .eq(UserDO::id, UserDO::updateBy) } - .eq(UserDO::id, UserDO::id) - val dos: List = userMapper.selectJoinList(UserDO::class.java, wrapper1) - assert(dos[0].createName != null && dos[0].updateName != null) + .eq(UserDO::id, UserDO::id) + val dos: List = userMapper.selectJoinList(UserDO::class.java, wrapper1) + assert(dos[0].createName != null && dos[0].updateName != null) ThreadLocalUtils.set( @@ -468,8 +465,8 @@ class LambdaWrapperTest { " LEFT JOIN `user` t2 ON (t2.pid = t1.id)\n" + "WHERE t.del = false\n" + " AND (t1.id <= ? AND t.id <= ?)" - ) - val wrapper2: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ) + val wrapper2: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .disableSubLogicDel() .selectAll(UserDO::class.java) .selectCollection("t1", UserDO::class.java, UserDO::children) { c -> @@ -480,9 +477,9 @@ class LambdaWrapperTest { .leftJoin(UserDO::class.java, UserDO::pid, UserDO::id) .le(UserDO::id, 5) } - .le(UserDO::id, 4) - val list1: List = userMapper.selectJoinList(UserDO::class.java, wrapper2) - println(list1) + .le(UserDO::id, 4) + val list1: List = userMapper.selectJoinList(UserDO::class.java, wrapper2) + println(list1) } /** @@ -490,29 +487,29 @@ class LambdaWrapperTest { */ @Test fun testLogicDel() { - val l1: List = userMapper!!.selectJoinList(UserDTO::class.java, JoinWrappers.kt(UserDO::class.java)) - assert(l1.size == 14) + val l1: List = userMapper!!.selectJoinList(UserDTO::class.java, KtWrappers.query(UserDO::class.java)) + assert(l1.size == 14) val l2: List = userMapper.selectJoinList( - UserDTO::class.java, JoinWrappers.kt(UserDO::class.java) + UserDTO::class.java, KtWrappers.query(UserDO::class.java) .selectAll(UserDO::class.java) .select(AddressDO::address) .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) - ) - assert(l2.size == 10) + ) + assert(l2.size == 10) val l3: List = userMapper.selectJoinList( - UserDTO::class.java, JoinWrappers.kt(UserDO::class.java) + UserDTO::class.java, KtWrappers.query(UserDO::class.java) .disableSubLogicDel() .selectAll(UserDO::class.java) .selectCollection(AddressDO::class.java, UserDTO::addressList) .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) - ) - assert(l3.size == 14 && l3[0].addressList!!.size == 9) + ) + assert(l3.size == 14 && l3[0].addressList!!.size == 9) val l4: List = userMapper.selectJoinList( UserDTO::class.java, - JoinWrappers.kt(UserDO::class.java) + KtWrappers.query(UserDO::class.java) .disableSubLogicDel() .selectAll(UserDO::class.java) .selectCollection(AddressDO::class.java, UserDTO::addressList) @@ -520,8 +517,8 @@ class LambdaWrapperTest { on.eq(AddressDO::userId, UserDO::id) .eq(AddressDO::del, false) } - ) - assert(l4.size == 14 && l4[0].addressList!!.size == 5) + ) + assert(l4.size == 14 && l4[0].addressList!!.size == 5) } @@ -530,14 +527,14 @@ class LambdaWrapperTest { */ @Test fun testAlias() { - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .selectAll(UserDO::class.java) .selectCollection(UserDO::class.java, UserDO::children) - .leftJoin(UserDO::class.java, UserDO::pid, UserDO::id) - val list: List = userMapper!!.selectJoinList(UserDO::class.java, wrapper) - assert(list[0].name != null && list[0].children!![0].name != null) - assert(list[0].img != null && list[0].children!![0].img != null) - println(list) + .leftJoin(UserDO::class.java, UserDO::pid, UserDO::id) + val list: List = userMapper!!.selectJoinList(UserDO::class.java, wrapper) + assert(list[0].name != null && list[0].children!![0].name != null) + assert(list[0].img != null && list[0].children!![0].img != null) + println(list) } @Test @@ -565,29 +562,29 @@ class LambdaWrapperTest { " LEFT JOIN address aa ON (aa.user_id = t.id)\n" + "WHERE t.del = false\n" + " AND aa.del = false" - ) - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .selectAll(UserDO::class.java) .selectAll(AddressDO::class.java, "aa") - .leftJoin(AddressDO::class.java, "aa", AddressDO::userId, UserDO::id) - val list: List = userMapper!!.selectJoinList(UserDO::class.java, wrapper) - println(list) + .leftJoin(AddressDO::class.java, "aa", AddressDO::userId, UserDO::id) + val list: List = userMapper!!.selectJoinList(UserDO::class.java, wrapper) + println(list) } @Test fun testLabel() { - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .disableSubLogicDel() .selectAll(UserDO::class.java) .selectCollection("t1", AddressDO::class.java, UserDO::addressList) .selectCollection("t2", AddressDO::class.java, UserDO::addressList2) .leftJoin(AddressDO::class.java, AddressDO::id, UserDO::addressId) - .leftJoin(AddressDO::class.java, AddressDO::id, UserDO::addressId2) - val list: List = userMapper!!.selectJoinList(UserDO::class.java, wrapper) + .leftJoin(AddressDO::class.java, AddressDO::id, UserDO::addressId2) + val list: List = userMapper!!.selectJoinList(UserDO::class.java, wrapper) - assert(list[0].addressList!![0].address != null) - assert(list[0].addressList2!![0].address != null) - println(list) + assert(list[0].addressList!![0].address != null) + assert(list[0].addressList2!![0].address != null) + println(list) } @@ -596,11 +593,11 @@ class LambdaWrapperTest { */ @Test fun test1() { - val page: Page = Page(1, 10) - page.setSearchCount(false) + val page: Page = Page(1, 10) + page.setSearchCount(false) val iPage: IPage = userMapper!!.selectJoinPage( page, UserDTO::class.java, - JoinWrappers.kt(UserDO::class.java) + KtWrappers.query(UserDO::class.java) .selectAll( UserDO::class.java ) @@ -608,8 +605,8 @@ class LambdaWrapperTest { .select(AreaDO::province) .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) - ) - iPage.records.forEach(System.out::println) + ) + iPage.records.forEach(System.out::println) } /** @@ -638,10 +635,10 @@ class LambdaWrapperTest { " AND t1.del = false\n" + " AND (t.id = ? AND (t.head_img = ? OR t1.user_id = ?) AND t.id = ?)\n" + "LIMIT ?" - ) + ) val page: IPage = userMapper!!.selectJoinPage( Page(1, 10), UserDTO::class.java, - JoinWrappers.kt(UserDO::class.java) + KtWrappers.query(UserDO::class.java) .selectAll(UserDO::class.java) .select(AddressDO::address) .leftJoin(AddressDO::class.java) { on -> @@ -655,8 +652,8 @@ class LambdaWrapperTest { .eq(AddressDO::userId, 1) } .eq(UserDO::id, 1) - ) - page.records.forEach(System.out::println) + ) + page.records.forEach(System.out::println) } /** @@ -665,12 +662,12 @@ class LambdaWrapperTest { @Test fun test4() { val one: UserDTO = userMapper!!.selectJoinOne( - UserDTO::class.java, JoinWrappers.kt(UserDO::class.java) + UserDTO::class.java, KtWrappers.query(UserDO::class.java) .selectSum(UserDO::id) .selectMax(UserDO::id, UserDTO::headImg) .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) - ) - println(one) + ) + println(one) } @@ -679,14 +676,14 @@ class LambdaWrapperTest { */ @Test fun test6() { - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .selectAll(UserDO::class.java) .selectFilter(AddressDO::class.java) { true } .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) - .eq(UserDO::id, 1) - val page: IPage = userMapper!!.selectJoinPage(Page(1, 10), UserDTO::class.java, wrapper) - assert(page.records[0].address != null) - page.records.forEach(System.out::println) + .eq(UserDO::id, 1) + val page: IPage = userMapper!!.selectJoinPage(Page(1, 10), UserDTO::class.java, wrapper) + assert(page.records[0].address != null) + page.records.forEach(System.out::println) } /** @@ -694,13 +691,13 @@ class LambdaWrapperTest { */ @Test fun test8() { - ThreadLocalUtils.set("SELECT t.`name` FROM `user` t WHERE t.del=false AND (t.`name` = ?)") - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ThreadLocalUtils.set("SELECT t.`name` FROM `user` t WHERE t.del=false AND (t.`name` = ?)") + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .select(UserDO::name) - .eq(UserDO::name, "ref") - userMapper!!.selectList(wrapper) + .eq(UserDO::name, "ref") + userMapper!!.selectList(wrapper) try { - userMapper.insertBatchSomeColumn(ArrayList()) + userMapper.insertBatchSomeColumn(ArrayList()) } catch (ignored: BadSqlGrammarException) { } } @@ -712,13 +709,13 @@ class LambdaWrapperTest { @Test fun test7() { val list: List> = userMapper!!.selectJoinMaps( - JoinWrappers.kt(UserDO::class.java) + KtWrappers.query(UserDO::class.java) .selectAll(UserDO::class.java) .select(AddressDO::address) .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) - ) - assert(list[0]["ADDRESS"] != null || list[0]["address"] != null) - list.forEach(System.out::println) + ) + assert(list[0]["ADDRESS"] != null || list[0]["address"] != null) + list.forEach(System.out::println) } /** @@ -727,22 +724,22 @@ class LambdaWrapperTest { @Test fun testMP() { val dos: MutableList? = userMapper!!.selectList( - JoinWrappers.kt(UserDO::class.java) + KtWrappers.query(UserDO::class.java) .gt(UserDO::id, 3) .lt(UserDO::id, 8) - ) - assert(dos!!.size == 4) + ) + assert(dos!!.size == 4) ThreadLocalUtils.set( "SELECT id,pid,`name`,`json`,sex,head_img,create_time,address_id,address_id2,del,create_by,update_by FROM `user` t WHERE t.del=false AND (t.id > ? AND t.id < ?)", "SELECT * FROM `user` t WHERE t.del=false AND (t.id > ? AND t.id < ?) " - ) + ) val dos1: MutableList? = userMapper.selectList( - JoinWrappers.kt(UserDO::class.java) + KtWrappers.query(UserDO::class.java) .gt(UserDO::id, 3) .lt(UserDO::id, 8) - ) - assert(dos1!!.size == 4) + ) + assert(dos1!!.size == 4) } /** @@ -750,16 +747,16 @@ class LambdaWrapperTest { */ @Test fun testFunc() { - ThreadLocalUtils.set("SELECT if(t1.user_id < 5,t1.user_id,t1.user_id + 100) AS id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false") - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ThreadLocalUtils.set("SELECT if(t1.user_id < 5,t1.user_id,t1.user_id + 100) AS id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false") + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .selectFunc( "if(%s < 5,%s,%s + 100)", { arg -> arg.accept(AddressDO::userId, AddressDO::userId, AddressDO::userId) }, UserDO::id ) - .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) + .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) try { - val dos: List = userMapper!!.selectJoinList(UserDO::class.java, wrapper) + val dos: List = userMapper!!.selectJoinList(UserDO::class.java, wrapper) } catch (_: BadSqlGrammarException) { } } @@ -769,17 +766,17 @@ class LambdaWrapperTest { */ @Test fun testGeneric() { - val wrapper: KtLambdaWrapper = JoinWrappers.kt(AddressDO::class.java) + val wrapper: KtLambdaWrapper = KtWrappers.query(AddressDO::class.java) .selectAll(AddressDO::class.java) .le(AddressDO::id, 10000) - .orderByDesc(AddressDO::id) - val list: List = addressMapper!!.selectJoinList(AddressDTO::class.java, wrapper) + .orderByDesc(AddressDO::id) + val list: List = addressMapper!!.selectJoinList(AddressDTO::class.java, wrapper) assert( Objects.equals( "[AddressDTO(id=22, userId=22, areaId=10022, tel=10000000022, address=朝阳22, del=false, areaList=null, area=null), AddressDTO(id=21, userId=21, areaId=10021, tel=10000000021, address=朝阳21, del=false, areaList=null, area=null), AddressDTO(id=20, userId=20, areaId=10020, tel=10000000020, address=朝阳20, del=false, areaList=null, area=null), AddressDTO(id=19, userId=19, areaId=10019, tel=10000000019, address=朝阳19, del=false, areaList=null, area=null), AddressDTO(id=18, userId=18, areaId=10018, tel=10000000018, address=朝阳18, del=false, areaList=null, area=null), AddressDTO(id=17, userId=17, areaId=10017, tel=10000000017, address=朝阳17, del=false, areaList=null, area=null), AddressDTO(id=16, userId=16, areaId=10016, tel=10000000016, address=朝阳16, del=false, areaList=null, area=null), AddressDTO(id=15, userId=15, areaId=10015, tel=10000000015, address=朝阳15, del=false, areaList=null, area=null), AddressDTO(id=14, userId=14, areaId=10014, tel=10000000014, address=朝阳14, del=false, areaList=null, area=null), AddressDTO(id=13, userId=13, areaId=10013, tel=10000000013, address=朝阳13, del=false, areaList=null, area=null), AddressDTO(id=12, userId=12, areaId=10012, tel=10000000012, address=朝阳12, del=false, areaList=null, area=null), AddressDTO(id=11, userId=11, areaId=10011, tel=10000000011, address=朝阳11, del=false, areaList=null, area=null), AddressDTO(id=10, userId=10, areaId=10010, tel=10000000010, address=朝阳10, del=false, areaList=null, area=null), AddressDTO(id=5, userId=1, areaId=10005, tel=10000000005, address=朝阳05, del=false, areaList=null, area=null), AddressDTO(id=4, userId=1, areaId=10004, tel=10000000004, address=朝阳04, del=false, areaList=null, area=null), AddressDTO(id=3, userId=1, areaId=10003, tel=10000000003, address=朝阳03, del=false, areaList=null, area=null), AddressDTO(id=2, userId=1, areaId=10002, tel=10000000002, address=朝阳02, del=false, areaList=null, area=null), AddressDTO(id=1, userId=1, areaId=10001, tel=10000000001, address=朝阳01, del=false, areaList=null, area=null)]", list.toString() ) - ) + ) } /** @@ -791,17 +788,17 @@ class LambdaWrapperTest { "SELECT COUNT( 1 ) FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false", "SELECT COUNT( * ) FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false", "SELECT COUNT( * ) AS total FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false" - ) - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) - .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) - val integer: Long = userMapper!!.selectCount(wrapper) + .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) + val integer: Long = userMapper!!.selectCount(wrapper) - ThreadLocalUtils.set("SELECT COUNT( * ) FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false") - val wrapper1: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ThreadLocalUtils.set("SELECT COUNT( * ) FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false") + val wrapper1: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) - .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) - val aLong1: Long = userMapper.selectJoinCount(wrapper1) + .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) + val aLong1: Long = userMapper.selectJoinCount(wrapper1) } @@ -810,8 +807,8 @@ class LambdaWrapperTest { */ @Test fun testTable() { - ThreadLocalUtils.set("SELECT t.id FROM `user`bbbbbbb t LEFT JOIN addressaaaaaaaaaa t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false AND (t.id <= ?) ORDER BY t.id DESC") - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ThreadLocalUtils.set("SELECT t.id FROM `user`bbbbbbb t LEFT JOIN addressaaaaaaaaaa t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false AND (t.id <= ?) ORDER BY t.id DESC") + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .select(UserDO::id) .leftJoin(AddressDO::class.java) { on -> on.eq(AddressDO::userId, UserDO::id) @@ -820,9 +817,9 @@ class LambdaWrapperTest { .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) .le(UserDO::id, 10000) .orderByDesc(UserDO::id) - .setTableName { name -> name + "bbbbbbb" } + .setTableName { name -> name + "bbbbbbb" } try { - val list = userMapper!!.selectJoinList(UserDTO::class.java, wrapper) + val list = userMapper!!.selectJoinList(UserDTO::class.java, wrapper) } catch (_: BadSqlGrammarException) { } } @@ -864,8 +861,8 @@ class LambdaWrapperTest { "WHERE t.del = false\n" + " AND (t.id <= ?)\n" + "ORDER BY t.id DESC\n" - ) - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .logicDelToOn() .selectAll(UserDO::class.java) .selectCollection(AddressDO::class.java, UserDTO::addressList) { addr -> @@ -874,12 +871,12 @@ class LambdaWrapperTest { .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) .le(UserDO::id, 10000) - .orderByDesc(UserDO::id) - println(wrapper.from) - val list = userMapper!!.selectJoinList(UserDTO::class.java, wrapper) + .orderByDesc(UserDO::id) + println(wrapper.from) + val list = userMapper!!.selectJoinList(UserDTO::class.java, wrapper) - assert(list[0].addressList != null && list[0].addressList!![0].id != null) - list.forEach(System.out::println) + assert(list[0].addressList != null && list[0].addressList!![0].id != null) + list.forEach(System.out::println) } /** @@ -918,8 +915,8 @@ class LambdaWrapperTest { "WHERE t.del = false\n" + " AND (t.id <= ?)\n" + "ORDER BY t.id DESC\n" - ) - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .logicDelToOn() .selectAll(UserDO::class.java) .selectCollection(AddressDO::class.java, UserDTO::addressList) { addr -> @@ -928,18 +925,18 @@ class LambdaWrapperTest { .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) .le(UserDO::id, 10000) - .orderByDesc(UserDO::id) + .orderByDesc(UserDO::id) - val list = wrapper.list(UserDTO::class.java) + val list = wrapper.list(UserDTO::class.java) - println(list) - assert(list[0].addressList != null && list[0].addressList!![0].id != null) - list.forEach(System.out::println) + println(list) + assert(list[0].addressList != null && list[0].addressList!![0].id != null) + list.forEach(System.out::println) } @Test fun joinRandomMap() { - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .logicDelToOn() .selectAll(UserDO::class.java) .selectCollection(UserDTO::addressList) { addr -> @@ -953,23 +950,23 @@ class LambdaWrapperTest { .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) .le(UserDO::id, 10000) - .orderByDesc(UserDO::id) + .orderByDesc(UserDO::id) - val list: MutableList = wrapper.list(UserDTO::class.java) - println(list) - assert(list[0].addressList != null && list[0].addressList!![0].id != null) - list.forEach(System.out::println) + val list: MutableList = wrapper.list(UserDTO::class.java) + println(list) + assert(list[0].addressList != null && list[0].addressList!![0].id != null) + list.forEach(System.out::println) } @Test fun joinRandomMap111() { - ThreadLocalUtils.set("SELECT t.id,t.user_id,t.area_id,t.tel,t.address,t.del FROM address t LEFT JOIN `user` t1 ON (t1.address_id = t.id) LEFT JOIN `user` t2 ON (t2.pid = t1.id) WHERE t.del=false AND t1.del=false AND t2.del=false") - val wrapper: KtLambdaWrapper = JoinWrappers.kt(AddressDO::class.java) + ThreadLocalUtils.set("SELECT t.id,t.user_id,t.area_id,t.tel,t.address,t.del FROM address t LEFT JOIN `user` t1 ON (t1.address_id = t.id) LEFT JOIN `user` t2 ON (t2.pid = t1.id) WHERE t.del=false AND t1.del=false AND t2.del=false") + val wrapper: KtLambdaWrapper = KtWrappers.query(AddressDO::class.java) .selectAll(AddressDO::class.java) .leftJoin(UserDO::class.java, UserDO::addressId, AddressDO::id) - .leftJoin(UserDO::class.java, UserDO::pid, UserDO::id) + .leftJoin(UserDO::class.java, UserDO::pid, UserDO::id) - val addressDOS: List = wrapper.list() + val addressDOS: List = wrapper.list() } /** @@ -977,13 +974,13 @@ class LambdaWrapperTest { */ @Test fun joinOwn() { - ThreadLocalUtils.set("SELECT t.id,t.pid,t.`name`,t.`json`,t.sex,t.head_img,t.create_time,t.address_id,t.address_id2,t.del,t.create_by,t.update_by FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false AND (t1.id = t1.id)") - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ThreadLocalUtils.set("SELECT t.id,t.pid,t.`name`,t.`json`,t.sex,t.head_img,t.create_time,t.address_id,t.address_id2,t.del,t.create_by,t.update_by FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false AND (t1.id = t1.id)") + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .selectAll(UserDO::class.java) .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) - .eq(AddressDO::id, AddressDO::id) + .eq(AddressDO::id, AddressDO::id) - val addressDOS: List = wrapper.list() + val addressDOS: List = wrapper.list() } /** @@ -991,14 +988,14 @@ class LambdaWrapperTest { */ @Test fun joinOwn1() { - ThreadLocalUtils.set("SELECT t.id,t.pid,t.`name`,t.`json`,t.sex,t.head_img,t.create_time,t.address_id,t.address_id2,t.del,t.create_by,t.update_by FROM `user` t LEFT JOIN address aaa ON (aaa.user_id = t.id) WHERE t.del=false AND aaa.del=false AND (aaa.id = t.id AND aaa.id = aaa.id)") - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ThreadLocalUtils.set("SELECT t.id,t.pid,t.`name`,t.`json`,t.sex,t.head_img,t.create_time,t.address_id,t.address_id2,t.del,t.create_by,t.update_by FROM `user` t LEFT JOIN address aaa ON (aaa.user_id = t.id) WHERE t.del=false AND aaa.del=false AND (aaa.id = t.id AND aaa.id = aaa.id)") + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .selectAll(UserDO::class.java) .leftJoin(AddressDO::class.java, "aaa", AddressDO::userId, UserDO::id) { ext -> ext.eq(AddressDO::id, AddressDO::id) } - .eq(AddressDO::id, AddressDO::id) - val addressDOS: List = wrapper.list() + .eq(AddressDO::id, AddressDO::id) + val addressDOS: List = wrapper.list() } /** @@ -1009,20 +1006,20 @@ class LambdaWrapperTest { ThreadLocalUtils.set( "SELECT id,user_id,name FROM order_t t ORDER BY t.name DESC", "SELECT id,user_id,name FROM order_t t ORDER BY t.name desc" - ) - val wrapper: KtLambdaWrapper = JoinWrappers.kt(OrderDO::class.java) - val list: List = wrapper.list() + ) + val wrapper: KtLambdaWrapper = KtWrappers.query(OrderDO::class.java) + val list: List = wrapper.list() ThreadLocalUtils.set( "SELECT t.id,t.user_id,t.name,t1.`name` AS userName FROM order_t t LEFT JOIN `user` t1 ON (t1.id = t.user_id) WHERE t1.del=false ORDER BY t.name DESC", "SELECT t.id,t.user_id,t.name,t1.`name` AS userName FROM order_t t LEFT JOIN `user` t1 ON (t1.id = t.user_id) WHERE t1.del=false ORDER BY t.name desc" - ) - val w: KtLambdaWrapper = JoinWrappers.kt(OrderDO::class.java) + ) + val w: KtLambdaWrapper = KtWrappers.query(OrderDO::class.java) .selectAll(OrderDO::class.java) .selectAs(UserDO::name, OrderDO::userName) - .leftJoin(UserDO::class.java, UserDO::id, OrderDO::userId) - println(wrapper.from) - val l: List = w.list() + .leftJoin(UserDO::class.java, UserDO::id, OrderDO::userId) + println(wrapper.from) + val l: List = w.list() } /** @@ -1031,24 +1028,24 @@ class LambdaWrapperTest { @Test fun delete() { //物理删除 - ThreadLocalUtils.set("DELETE t FROM order_t t LEFT JOIN user_dto t1 ON (t1.id = t.user_id) WHERE (t.id = ?)") - val w: KtDeleteJoinWrapper = JoinWrappers.ktDelete(OrderDO::class.java) + ThreadLocalUtils.set("DELETE t FROM order_t t LEFT JOIN user_dto t1 ON (t1.id = t.user_id) WHERE (t.id = ?)") + val w: KtDeleteJoinWrapper = KtWrappers.delete(OrderDO::class.java) .leftJoin(UserDto::class.java, UserDto::id, OrderDO::userId) - .eq(OrderDO::id, 1) + .eq(OrderDO::id, 1) try { - orderMapper!!.deleteJoin(w) + orderMapper!!.deleteJoin(w) } catch (_: BadSqlGrammarException) { //忽略异常 h2不支持连表删除 } //逻辑删除 - ThreadLocalUtils.set("UPDATE `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) SET t.del=true ,t1.del=true,t2.del=true WHERE t.del=false AND t1.del=false AND t2.del=false AND (t.id = ?)") - val wrapper: KtDeleteJoinWrapper = JoinWrappers.ktDelete(UserDO::class.java) + ThreadLocalUtils.set("UPDATE `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) SET t.del=true ,t1.del=true,t2.del=true WHERE t.del=false AND t1.del=false AND t2.del=false AND (t.id = ?)") + val wrapper: KtDeleteJoinWrapper = KtWrappers.delete(UserDO::class.java) .deleteAll() .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) .leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId) - .eq(OrderDO::id, 1) + .eq(OrderDO::id, 1) try { - userMapper!!.deleteJoin(wrapper) + userMapper!!.deleteJoin(wrapper) } catch (_: BadSqlGrammarException) { //忽略异常 h2不支持连表删除 } @@ -1069,8 +1066,8 @@ class LambdaWrapperTest { val user1 = UserDO() user1.updateBy = 123123 - ThreadLocalUtils.set("UPDATE `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) SET t.update_by=?, t.`name`=?,t1.address=?,t1.tel=?,t1.address=?,t.`name`=?,t.update_by=?,t1.user_id=?,t1.area_id=?,t1.tel=?,t1.address=? WHERE t.del=false AND t1.del=false AND (t.id = ?)") - val update: KtUpdateJoinWrapper = JoinWrappers.ktUpdate(UserDO::class.java) + ThreadLocalUtils.set("UPDATE `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) SET t.update_by=?, t.`name`=?,t1.address=?,t1.tel=?,t1.address=?,t.`name`=?,t.update_by=?,t1.user_id=?,t1.area_id=?,t1.tel=?,t1.address=? WHERE t.del=false AND t1.del=false AND (t.id = ?)") + val update: KtUpdateJoinWrapper = KtWrappers.update(UserDO::class.java) .set(UserDO::name, "aaaaaa") .set(AddressDO::address, "bbbbb") .setUpdateEntity(address, user) @@ -1078,14 +1075,14 @@ class LambdaWrapperTest { .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) .eq(OrderDO::id, 1) try { - val join = userMapper!!.updateJoin(user1, update) + val join = userMapper!!.updateJoin(user1, update) } catch (_: BadSqlGrammarException) { //忽略异常 h2不支持连表删除 } - ThreadLocalUtils.set("UPDATE `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) SET t.pid=?, t.`name`=?, t.`json`=?, t.sex=?, t.head_img=?, t.create_time=?, t.address_id=?, t.address_id2=?, t.create_by=?, t.update_by=? WHERE t.del=false AND t1.del=false AND (t.id = ?)") - val update1: KtUpdateJoinWrapper = JoinWrappers.ktUpdate(UserDO::class.java) + ThreadLocalUtils.set("UPDATE `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) SET t.pid=?, t.`name`=?, t.`json`=?, t.sex=?, t.head_img=?, t.create_time=?, t.address_id=?, t.address_id2=?, t.create_by=?, t.update_by=? WHERE t.del=false AND t1.del=false AND (t.id = ?)") + val update1: KtUpdateJoinWrapper = KtWrappers.update(UserDO::class.java) .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) .eq(OrderDO::id, 1) try { @@ -1100,8 +1097,8 @@ class LambdaWrapperTest { */ @Test fun sub() { - ThreadLocalUtils.set("SELECT ( SELECT st.id FROM `user` st WHERE st.del=false AND (st.id = t.id) limit 1 ) AS id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false AND (t.id <= ?)") - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ThreadLocalUtils.set("SELECT ( SELECT st.id FROM `user` st WHERE st.del=false AND (st.id = t.id) limit 1 ) AS id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false AND (t.id <= ?)") + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .selectSub( UserDO::class.java, { w -> w.select(UserDO::id) @@ -1110,19 +1107,19 @@ class LambdaWrapperTest { }, UserDO::id ) .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) - .le(UserDO::id, 100) - wrapper.list() + .le(UserDO::id, 100) + wrapper.list() - ThreadLocalUtils.set("SELECT ( SELECT st.id FROM address st WHERE st.del=false AND (st.id = t.id) limit 1 ) AS id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false AND (t.id <= ?)") - val wrapper1: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) + ThreadLocalUtils.set("SELECT ( SELECT st.id FROM address st WHERE st.del=false AND (st.id = t.id) limit 1 ) AS id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false AND (t.id <= ?)") + val wrapper1: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) .selectSub(AddressDO::class.java, { w -> w.select(AddressDO::id) .eq(AddressDO::id, UserDO::id) .last("limit 1") }, UserDO::id) .leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id) - .le(UserDO::id, 100) - wrapper1.list() + .le(UserDO::id, 100) + wrapper1.list() } @@ -1132,15 +1129,15 @@ class LambdaWrapperTest { @Test fun union() { ThreadLocalUtils.set("SELECT t.id,t.pid,t.`name`,t.`json`,t.sex,t.head_img,t.create_time,t.address_id,t.address_id2,t.del,t.create_by,t.update_by FROM `user` t WHERE t.del=false UNION SELECT t.id,t.pid,t.`name`,t.`json`,t.sex,t.head_img,t.create_time,t.address_id,t.address_id2,t.del,t.create_by,t.update_by FROM `user` t WHERE t.del=false UNION SELECT t.id,t.pid,t.`name`,t.`json`,t.sex,t.head_img,t.create_time,t.address_id,t.address_id2,t.del,t.create_by,t.update_by FROM `user` t WHERE t.del=false") - val wrapper: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) - .selectAll(UserDO::class.java) - val wrapper1: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) - .selectAll(UserDO::class.java) - val wrapper2: KtLambdaWrapper = JoinWrappers.kt(UserDO::class.java) - .selectAll(UserDO::class.java) + val wrapper: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) + .selectAll(UserDO::class.java) + val wrapper1: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) + .selectAll(UserDO::class.java) + val wrapper2: KtLambdaWrapper = KtWrappers.query(UserDO::class.java) + .selectAll(UserDO::class.java) - wrapper.union(wrapper1, wrapper2) - wrapper.list() - println(1) + wrapper.union(wrapper1, wrapper2) + wrapper.list() + println(1) } }