diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryTable.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryTable.java index c2feff3f..9a4aba6e 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryTable.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryTable.java @@ -96,8 +96,16 @@ public class QueryTable implements CloneSupport { if (this == table) { return true; } - return Objects.equals(name, table.name) - && Objects.equals(alias, table.alias); + +// return Objects.equals(name, table.name) +// && Objects.equals(alias, table.alias); + + if (StringUtil.isNotBlank(alias) + && StringUtil.isNotBlank(table.alias)) { + return Objects.equals(alias, table.alias); + } + + return Objects.equals(name, table.name); } Object[] getValueArray() { diff --git a/mybatis-flex-test/mybatis-flex-spring-boot-test/src/main/resources/application.yml b/mybatis-flex-test/mybatis-flex-spring-boot-test/src/main/resources/application.yml index 5d2fc388..f9c84f2d 100644 --- a/mybatis-flex-test/mybatis-flex-spring-boot-test/src/main/resources/application.yml +++ b/mybatis-flex-test/mybatis-flex-spring-boot-test/src/main/resources/application.yml @@ -41,8 +41,8 @@ mybatis-flex: ds1: url: jdbc:mysql://127.0.0.1:3306/flex_test username: root - password: 12345678 + password: 123456 ds2: url: jdbc:mysql://127.0.0.1:3306/flex_test username: root - password: 12345678 + password: 123456 diff --git a/mybatis-flex-test/mybatis-flex-spring-boot-test/src/test/java/com/mybatisflex/test/mapper/OuterMapperTest.java b/mybatis-flex-test/mybatis-flex-spring-boot-test/src/test/java/com/mybatisflex/test/mapper/OuterMapperTest.java index d7ad2fdc..41f70b07 100644 --- a/mybatis-flex-test/mybatis-flex-spring-boot-test/src/test/java/com/mybatisflex/test/mapper/OuterMapperTest.java +++ b/mybatis-flex-test/mybatis-flex-spring-boot-test/src/test/java/com/mybatisflex/test/mapper/OuterMapperTest.java @@ -18,6 +18,8 @@ package com.mybatisflex.test.mapper; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.test.entity.Outer; +import com.mybatisflex.test.entity.table.InnerTableDef; +import com.mybatisflex.test.entity.table.OuterTableDef; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -49,16 +51,18 @@ class OuterMapperTest { @Test void testSelect() { + OuterTableDef outer = OUTER.as("o"); + InnerTableDef inner = INNER.as("i"); QueryWrapper queryWrapper = QueryWrapper.create() - .select(OUTER.ID, - OUTER.NAME, - INNER.ID, - INNER.TYPE) - .from(OUTER.as("o")) - .leftJoin(INNER).as("i").on(INNER.ID.eq(2)) + .select(outer.ID, + outer.NAME, + inner.ID, + inner.TYPE) + .from(outer) + .leftJoin(inner).on(inner.ID.eq(2)) .limit(1); - Outer outer = outerMapper.selectOneByQuery(queryWrapper); - System.out.println(outer); + Outer outer1 = outerMapper.selectOneByQuery(queryWrapper); + System.out.println(outer1); } } diff --git a/mybatis-flex-test/mybatis-flex-spring-boot-test/src/test/java/com/mybatisflex/test/mapper/UserMapperTest.java b/mybatis-flex-test/mybatis-flex-spring-boot-test/src/test/java/com/mybatisflex/test/mapper/UserMapperTest.java index 48dbf717..e06e8aa4 100644 --- a/mybatis-flex-test/mybatis-flex-spring-boot-test/src/test/java/com/mybatisflex/test/mapper/UserMapperTest.java +++ b/mybatis-flex-test/mybatis-flex-spring-boot-test/src/test/java/com/mybatisflex/test/mapper/UserMapperTest.java @@ -286,6 +286,23 @@ class UserMapperTest { System.err.println(user); } + + @Test + void testQueryWrapper() { + QueryWrapper queryWrapper = QueryWrapper.create() + .select(USER.USER_ID, + USER.USER_NAME, + ROLE.ROLE_NAME.as("roles"), + ROLE.ROLE_ID.as("role_ids")) + .from(USER.as("u")) + .leftJoin(USER_ROLE).as("ur").on(USER_ROLE.USER_ID.eq(USER.USER_ID)) + .leftJoin(ROLE).as("r").on(USER_ROLE.ROLE_ID.eq(ROLE.ROLE_ID)) + .where(USER.USER_ID.eq(2)); + + String sql = queryWrapper.toSQL(); + System.out.println(sql); + } + // @Test // public void testFieldBindRelations() { // List userVO5List = userMapper.selectListWithRelationsByQueryAs(QueryWrapper.create(), UserVO5.class);