123456789101112131415161718192021222324252627282930313233 |
- package org.example.join.model;
- import cn.hutool.core.util.ObjectUtil;
- import cn.hutool.core.util.StrUtil;
- import com.baomidou.mybatisplus.core.toolkit.StringPool;
- import lombok.Getter;
- import lombok.RequiredArgsConstructor;
- import org.example.join.sql.SqlConstant;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- @Getter
- @RequiredArgsConstructor
- public class TableJoin implements ITable {
- private final String joinType;
- private final ITable table;
- private final List<QueryCondition> queryConditionList = new ArrayList<>();
- @Override
- public String toSql() {
- String on = queryConditionList.stream()
- .filter(ObjectUtil::isNotNull)
- .map(QueryCondition::toSql)
- .filter(StrUtil::isNotBlank)
- .collect(Collectors.joining(SqlConstant.AND));
- return joinType + table.toSql() + (StrUtil.isNotBlank(on) ? SqlConstant.ON + on : StringPool.EMPTY);
- }
- }
|