This commit is contained in:
yulichang 2022-12-12 15:14:29 +08:00
parent a19d7fcae9
commit 54432b76a4
3 changed files with 14 additions and 5 deletions

View File

@ -65,7 +65,7 @@ public abstract class MPJAbstractLambdaWrapper<T, Children extends MPJAbstractLa
}
Table table = tableList.get(clazz, index);
if (Objects.nonNull(table.getIndex())) {
if (isJoin) {
if (isJoin && clazz == getEntityClass()) {
//除自己以外的倒序第一个
Table t = tableList.getOrElse(clazz, index);
if (Objects.isNull(t.getIndex())) {

View File

@ -0,0 +1,9 @@
package com.github.yulichang.test.join.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
@SuppressWarnings("unused")
public interface MYBaseMapper<T> extends MPJBaseMapper<T> {
}

View File

@ -143,20 +143,20 @@ class LambdaWrapperTest {
@Test
void testLogicDel() {
List<UserDTO> l1 = userMapper.selectJoinList(UserDTO.class, new MPJLambdaWrapper<>());
assert l1.size() < 15;
assert l1.size() == 14;
List<UserDTO> l2 = userMapper.selectJoinList(UserDTO.class, new MPJLambdaWrapper<UserDO>()
.selectAll(UserDO.class)
.select(AddressDO::getAddress)
.leftJoin(AddressDO.class, AddressDO::getUserId, UserDO::getId));
assert l2.size() < 11;
assert l2.size() == 10;
List<UserDTO> l3 = userMapper.selectJoinList(UserDTO.class, new MPJLambdaWrapper<UserDO>()
.disableSubLogicDel()
.selectAll(UserDO.class)
.selectCollection(AddressDO.class, UserDTO::getAddressList)
.leftJoin(AddressDO.class, AddressDO::getUserId, UserDO::getId));
assert l3.size() > 5 && l3.get(0).getAddressList().size() > 5;
assert l3.size() == 14 && l3.get(0).getAddressList().size() == 9;
List<UserDTO> l4 = userMapper.selectJoinList(UserDTO.class, new MPJLambdaWrapper<UserDO>()
.disableSubLogicDel()
@ -165,7 +165,7 @@ class LambdaWrapperTest {
.leftJoin(AddressDO.class, on -> on
.eq(AddressDO::getUserId, UserDO::getId)
.eq(AddressDO::getDel, false)));
assert l4.size() > 5 && l4.get(0).getAddressList().size() <= 5;
assert l4.size() == 14 && l4.get(0).getAddressList().size() == 5;
}