mirror of
https://gitee.com/best_handsome/mybatis-plus-join
synced 2025-07-11 00:02:22 +08:00
MPJQueryWrapper自定义主表别名
This commit is contained in:
parent
782654915b
commit
7a0179953a
@ -7,14 +7,10 @@ import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
|
import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
|
||||||
import com.baomidou.mybatisplus.core.metadata.TableInfo;
|
import com.baomidou.mybatisplus.core.metadata.TableInfo;
|
||||||
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
|
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
|
import com.baomidou.mybatisplus.core.toolkit.*;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
||||||
import com.github.yulichang.query.interfaces.MPJJoin;
|
import com.github.yulichang.query.interfaces.MPJJoin;
|
||||||
import com.github.yulichang.toolkit.Constant;
|
import com.github.yulichang.toolkit.Constant;
|
||||||
import com.github.yulichang.toolkit.MPJWrappers;
|
import com.github.yulichang.toolkit.MPJWrappers;
|
||||||
import org.springframework.util.Assert;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -48,7 +44,7 @@ public class MPJQueryWrapper<T> extends AbstractWrapper<T, String, MPJQueryWrapp
|
|||||||
/**
|
/**
|
||||||
* 主表别名
|
* 主表别名
|
||||||
*/
|
*/
|
||||||
private final SharedString alias = new SharedString(Constant.TABLE_ALIAS);
|
private String alias = Constant.TABLE_ALIAS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询的列
|
* 查询的列
|
||||||
@ -113,7 +109,7 @@ public class MPJQueryWrapper<T> extends AbstractWrapper<T, String, MPJQueryWrapp
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 此方法只能用于主表
|
* 此方法只能用于主表
|
||||||
* 不好含主键
|
* 不含主键
|
||||||
*
|
*
|
||||||
* @param entityClass 主表class
|
* @param entityClass 主表class
|
||||||
* @param predicate 条件lambda
|
* @param predicate 条件lambda
|
||||||
@ -123,7 +119,7 @@ public class MPJQueryWrapper<T> extends AbstractWrapper<T, String, MPJQueryWrapp
|
|||||||
TableInfo info = TableInfoHelper.getTableInfo(entityClass);
|
TableInfo info = TableInfoHelper.getTableInfo(entityClass);
|
||||||
Assert.notNull(info, "can not find table info");
|
Assert.notNull(info, "can not find table info");
|
||||||
selectColumns.addAll(info.getFieldList().stream().filter(predicate).map(c ->
|
selectColumns.addAll(info.getFieldList().stream().filter(predicate).map(c ->
|
||||||
Constant.TABLE_ALIAS + StringPool.DOT + c.getColumn()).collect(Collectors.toList()));
|
alias + StringPool.DOT + c.getColumn()).collect(Collectors.toList()));
|
||||||
return typedThis;
|
return typedThis;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -134,7 +130,7 @@ public class MPJQueryWrapper<T> extends AbstractWrapper<T, String, MPJQueryWrapp
|
|||||||
* @param clazz 主表class
|
* @param clazz 主表class
|
||||||
*/
|
*/
|
||||||
public final MPJQueryWrapper<T> selectAll(Class<T> clazz) {
|
public final MPJQueryWrapper<T> selectAll(Class<T> clazz) {
|
||||||
selectAll(clazz, Constant.TABLE_ALIAS);
|
selectAll(clazz, alias);
|
||||||
return typedThis;
|
return typedThis;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,7 +168,23 @@ public class MPJQueryWrapper<T> extends AbstractWrapper<T, String, MPJQueryWrapp
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getAlias() {
|
public String getAlias() {
|
||||||
return alias.getStringValue();
|
return alias;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置主表别名
|
||||||
|
* 如果要用,请最先调用,
|
||||||
|
* <pre>
|
||||||
|
* 正例 new QueryWrapper().setAlias("a").selectAll(UserDO.class)....
|
||||||
|
* 反例 new QueryWrapper().selectAll(UserDO.class).setAlias("a")....
|
||||||
|
* <pre/>
|
||||||
|
*
|
||||||
|
* @param alias 主表别名
|
||||||
|
*/
|
||||||
|
public MPJQueryWrapper<T> setAlias(String alias) {
|
||||||
|
Assert.isTrue(StringUtils.isNotBlank(alias), "别名不能为空");
|
||||||
|
this.alias = alias;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user