All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mybatisflex.core.query.QueryConditionBuilder Maven / Gradle / Ivy

There is a newer version: 1.10.5
Show newest version
/*
 *  Copyright (c) 2022-2025, Mybatis-Flex ([email protected]).
 *  

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *

* http://www.apache.org/licenses/LICENSE-2.0 *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.mybatisflex.core.query; import com.mybatisflex.core.constant.SqlConnector; import com.mybatisflex.core.util.LambdaGetter; import com.mybatisflex.core.util.LambdaUtil; import java.util.Collection; import java.util.function.BiPredicate; import java.util.function.BooleanSupplier; import java.util.function.Predicate; public class QueryConditionBuilder implements Conditional { private final Wrapper queryWrapper; private final QueryColumn queryColumn; private final SqlConnector connector; public QueryConditionBuilder(Wrapper queryWrapper, QueryColumn queryColumn, SqlConnector connector) { this.queryWrapper = queryWrapper; this.queryColumn = queryColumn; this.connector = connector; } private void addWhereQueryCondition(QueryCondition queryCondition) { queryWrapper.addWhereQueryCondition(queryCondition, connector); } @Override public Wrapper eq(Object value) { addWhereQueryCondition(queryColumn.eq(value)); return queryWrapper; } @Override public Wrapper eq(Object value, boolean isEffective) { addWhereQueryCondition(queryColumn.eq(value, isEffective)); return queryWrapper; } @Override public Wrapper eq(Object value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.eq(value, isEffective)); return queryWrapper; } @Override public Wrapper eq(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.eq(value, isEffective)); return queryWrapper; } /** * 等于 {@code =} */ public Wrapper eq(LambdaGetter value) { return eq(LambdaUtil.getQueryColumn(value), true); } /** * 等于 {@code =} */ public Wrapper eq(LambdaGetter value, boolean isEffective) { return eq(LambdaUtil.getQueryColumn(value), isEffective); } /** * 等于 {@code =} */ public Wrapper eq(LambdaGetter value, BooleanSupplier isEffective) { return eq(LambdaUtil.getQueryColumn(value), isEffective.getAsBoolean()); } @Override public Wrapper ne(Object value) { addWhereQueryCondition(queryColumn.ne(value)); return queryWrapper; } @Override public Wrapper ne(Object value, boolean isEffective) { addWhereQueryCondition(queryColumn.ne(value, isEffective)); return queryWrapper; } @Override public Wrapper ne(Object value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.ne(value, isEffective)); return queryWrapper; } @Override public Wrapper ne(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.ne(value, isEffective)); return queryWrapper; } /** * 不等于 {@code !=} */ public Wrapper ne(LambdaGetter value) { return ne(LambdaUtil.getQueryColumn(value), true); } /** * 不等于 {@code !=} */ public Wrapper ne(LambdaGetter value, boolean isEffective) { return ne(LambdaUtil.getQueryColumn(value), isEffective); } /** * 不等于 {@code !=} */ public Wrapper ne(LambdaGetter value, BooleanSupplier isEffective) { return ne(LambdaUtil.getQueryColumn(value), isEffective.getAsBoolean()); } @Override public Wrapper gt(Object value) { addWhereQueryCondition(queryColumn.gt(value)); return queryWrapper; } @Override public Wrapper gt(Object value, boolean isEffective) { addWhereQueryCondition(queryColumn.gt(value, isEffective)); return queryWrapper; } @Override public Wrapper gt(Object value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.gt(value, isEffective)); return queryWrapper; } @Override public Wrapper gt(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.gt(value, isEffective)); return queryWrapper; } /** * 大于 {@code >} */ public Wrapper gt(LambdaGetter value) { return gt(LambdaUtil.getQueryColumn(value), true); } /** * 大于 {@code >} */ public Wrapper gt(LambdaGetter value, boolean isEffective) { return gt(LambdaUtil.getQueryColumn(value), isEffective); } /** * 大于 {@code >} */ public Wrapper gt(LambdaGetter value, BooleanSupplier isEffective) { return gt(LambdaUtil.getQueryColumn(value), isEffective.getAsBoolean()); } @Override public Wrapper ge(Object value) { addWhereQueryCondition(queryColumn.ge(value)); return queryWrapper; } @Override public Wrapper ge(Object value, boolean isEffective) { addWhereQueryCondition(queryColumn.ge(value, isEffective)); return queryWrapper; } @Override public Wrapper ge(Object value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.ge(value, isEffective)); return queryWrapper; } @Override public Wrapper ge(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.ge(value, isEffective)); return queryWrapper; } /** * 大于等于 {@code >=} */ public Wrapper ge(LambdaGetter value) { return ge(LambdaUtil.getQueryColumn(value), true); } /** * 大于等于 {@code >=} */ public Wrapper ge(LambdaGetter value, boolean isEffective) { return ge(LambdaUtil.getQueryColumn(value), isEffective); } /** * 大于等于 {@code >=} */ public Wrapper ge(LambdaGetter value, BooleanSupplier isEffective) { return ge(LambdaUtil.getQueryColumn(value), isEffective.getAsBoolean()); } @Override public Wrapper lt(Object value) { addWhereQueryCondition(queryColumn.lt(value)); return queryWrapper; } @Override public Wrapper lt(Object value, boolean isEffective) { addWhereQueryCondition(queryColumn.lt(value, isEffective)); return queryWrapper; } @Override public Wrapper lt(Object value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.lt(value, isEffective)); return queryWrapper; } @Override public Wrapper lt(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.lt(value, isEffective)); return queryWrapper; } /** * 小于 {@code <} */ public Wrapper lt(LambdaGetter value) { return lt(LambdaUtil.getQueryColumn(value), true); } /** * 小于 {@code <} */ public Wrapper lt(LambdaGetter value, boolean isEffective) { return lt(LambdaUtil.getQueryColumn(value), isEffective); } /** * 小于 {@code <} */ public Wrapper lt(LambdaGetter value, BooleanSupplier isEffective) { return lt(LambdaUtil.getQueryColumn(value), isEffective.getAsBoolean()); } @Override public Wrapper le(Object value) { addWhereQueryCondition(queryColumn.le(value)); return queryWrapper; } @Override public Wrapper le(Object value, boolean isEffective) { addWhereQueryCondition(queryColumn.le(value, isEffective)); return queryWrapper; } @Override public Wrapper le(Object value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.le(value, isEffective)); return queryWrapper; } @Override public Wrapper le(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.le(value, isEffective)); return queryWrapper; } /** * 小于等于 {@code <=} */ public Wrapper le(LambdaGetter value) { return le(LambdaUtil.getQueryColumn(value), true); } /** * 小于等于 {@code <=} */ public Wrapper le(LambdaGetter value, boolean isEffective) { return le(LambdaUtil.getQueryColumn(value), isEffective); } /** * 小于等于 {@code <=} */ public Wrapper le(LambdaGetter value, BooleanSupplier isEffective) { return le(LambdaUtil.getQueryColumn(value), isEffective.getAsBoolean()); } @Override public Wrapper in(Object... value) { addWhereQueryCondition(queryColumn.in(value)); return queryWrapper; } @Override public Wrapper in(Object[] value, boolean isEffective) { addWhereQueryCondition(queryColumn.in(value, isEffective)); return queryWrapper; } @Override public Wrapper in(Object[] value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.in(value, isEffective)); return queryWrapper; } @Override public Wrapper in(T[] value, Predicate isEffective) { addWhereQueryCondition(queryColumn.in(value, isEffective)); return queryWrapper; } @Override public Wrapper in(Collection value) { addWhereQueryCondition(queryColumn.in(value)); return queryWrapper; } @Override public Wrapper in(Collection value, boolean isEffective) { addWhereQueryCondition(queryColumn.in(value, isEffective)); return queryWrapper; } @Override public Wrapper in(Collection value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.in(value, isEffective)); return queryWrapper; } @Override public > Wrapper in(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.in(value, isEffective)); return queryWrapper; } @Override public Wrapper in(QueryWrapper queryWrapper) { addWhereQueryCondition(queryColumn.in(queryWrapper)); return this.queryWrapper; } @Override public Wrapper in(QueryWrapper queryWrapper, boolean isEffective) { addWhereQueryCondition(queryColumn.in(queryWrapper, isEffective)); return this.queryWrapper; } @Override public Wrapper in(QueryWrapper queryWrapper, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.in(queryWrapper, isEffective)); return this.queryWrapper; } @Override public Wrapper notIn(Object... value) { addWhereQueryCondition(queryColumn.notIn(value)); return queryWrapper; } @Override public Wrapper notIn(Object[] value, boolean isEffective) { addWhereQueryCondition(queryColumn.notIn(value, isEffective)); return queryWrapper; } @Override public Wrapper notIn(Object[] value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.notIn(value, isEffective)); return queryWrapper; } @Override public Wrapper notIn(T[] value, Predicate isEffective) { addWhereQueryCondition(queryColumn.notIn(value, isEffective)); return queryWrapper; } @Override public Wrapper notIn(Collection value) { addWhereQueryCondition(queryColumn.notIn(value)); return queryWrapper; } @Override public Wrapper notIn(Collection value, boolean isEffective) { addWhereQueryCondition(queryColumn.notIn(value, isEffective)); return queryWrapper; } @Override public Wrapper notIn(Collection value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.notIn(value, isEffective)); return queryWrapper; } @Override public > Wrapper notIn(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.notIn(value, isEffective)); return queryWrapper; } @Override public Wrapper notIn(QueryWrapper queryWrapper) { addWhereQueryCondition(queryColumn.notIn(queryWrapper)); return this.queryWrapper; } @Override public Wrapper notIn(QueryWrapper queryWrapper, boolean isEffective) { addWhereQueryCondition(queryColumn.notIn(queryWrapper, isEffective)); return this.queryWrapper; } @Override public Wrapper notIn(QueryWrapper queryWrapper, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.notIn(queryWrapper, isEffective)); return this.queryWrapper; } @Override public Wrapper between(Object[] values) { addWhereQueryCondition(queryColumn.between(values)); return queryWrapper; } @Override public Wrapper between(Object[] values, boolean isEffective) { addWhereQueryCondition(queryColumn.between(values, isEffective)); return queryWrapper; } @Override public Wrapper between(Object start, Object end) { addWhereQueryCondition(queryColumn.between(start, end)); return queryWrapper; } @Override public Wrapper between(Object start, Object end, boolean isEffective) { addWhereQueryCondition(queryColumn.between(start, end, isEffective)); return queryWrapper; } @Override public Wrapper between(Object start, Object end, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.between(start, end, isEffective)); return queryWrapper; } @Override public Wrapper between(S start, E end, BiPredicate isEffective) { addWhereQueryCondition(queryColumn.between(start, end, isEffective)); return queryWrapper; } @Override public Wrapper notBetween(Object[] values) { addWhereQueryCondition(queryColumn.notBetween(values)); return queryWrapper; } @Override public Wrapper notBetween(Object[] values, boolean isEffective) { addWhereQueryCondition(queryColumn.notBetween(values, isEffective)); return queryWrapper; } @Override public Wrapper notBetween(Object start, Object end) { addWhereQueryCondition(queryColumn.notBetween(start, end)); return queryWrapper; } @Override public Wrapper notBetween(Object start, Object end, boolean isEffective) { addWhereQueryCondition(queryColumn.notBetween(start, end, isEffective)); return queryWrapper; } @Override public Wrapper notBetween(Object start, Object end, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.notBetween(start, end, isEffective)); return queryWrapper; } @Override public Wrapper notBetween(S start, E end, BiPredicate isEffective) { addWhereQueryCondition(queryColumn.notBetween(start, end, isEffective)); return queryWrapper; } @Override public Wrapper like(Object value) { addWhereQueryCondition(queryColumn.like(value)); return queryWrapper; } @Override public Wrapper like(Object value, boolean isEffective) { addWhereQueryCondition(queryColumn.like(value, isEffective)); return queryWrapper; } @Override public Wrapper like(Object value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.like(value, isEffective)); return queryWrapper; } @Override public Wrapper like(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.like(value, isEffective)); return queryWrapper; } @Override public Wrapper likeLeft(Object value) { addWhereQueryCondition(queryColumn.likeLeft(value)); return queryWrapper; } @Override public Wrapper likeLeft(Object value, boolean isEffective) { addWhereQueryCondition(queryColumn.likeLeft(value, isEffective)); return queryWrapper; } @Override public Wrapper likeLeft(Object value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.likeLeft(value, isEffective)); return queryWrapper; } @Override public Wrapper likeLeft(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.likeLeft(value, isEffective)); return queryWrapper; } @Override public Wrapper likeRight(Object value) { addWhereQueryCondition(queryColumn.likeRight(value)); return queryWrapper; } @Override public Wrapper likeRight(Object value, boolean isEffective) { addWhereQueryCondition(queryColumn.likeRight(value, isEffective)); return queryWrapper; } @Override public Wrapper likeRight(Object value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.likeRight(value, isEffective)); return queryWrapper; } @Override public Wrapper likeRight(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.likeRight(value, isEffective)); return queryWrapper; } @Override public Wrapper notLike(Object value) { addWhereQueryCondition(queryColumn.notLike(value)); return queryWrapper; } @Override public Wrapper notLike(Object value, boolean isEffective) { addWhereQueryCondition(queryColumn.notLike(value, isEffective)); return queryWrapper; } @Override public Wrapper notLike(Object value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.notLike(value, isEffective)); return queryWrapper; } @Override public Wrapper notLike(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.notLike(value, isEffective)); return queryWrapper; } @Override public Wrapper notLikeLeft(Object value) { addWhereQueryCondition(queryColumn.notLikeLeft(value)); return queryWrapper; } @Override public Wrapper notLikeLeft(Object value, boolean isEffective) { addWhereQueryCondition(queryColumn.notLikeLeft(value, isEffective)); return queryWrapper; } @Override public Wrapper notLikeLeft(Object value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.notLikeLeft(value, isEffective)); return queryWrapper; } @Override public Wrapper notLikeLeft(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.notLikeLeft(value, isEffective)); return queryWrapper; } @Override public Wrapper notLikeRight(Object value) { addWhereQueryCondition(queryColumn.notLikeRight(value)); return queryWrapper; } @Override public Wrapper notLikeRight(Object value, boolean isEffective) { addWhereQueryCondition(queryColumn.notLikeRight(value, isEffective)); return queryWrapper; } @Override public Wrapper notLikeRight(Object value, BooleanSupplier isEffective) { addWhereQueryCondition(queryColumn.notLikeRight(value, isEffective)); return queryWrapper; } @Override public Wrapper notLikeRight(T value, Predicate isEffective) { addWhereQueryCondition(queryColumn.notLikeRight(value, isEffective)); return queryWrapper; } @Override public Wrapper isNull(boolean isEffective) { addWhereQueryCondition(queryColumn.isNull(isEffective)); return queryWrapper; } @Override public Wrapper isNotNull(boolean isEffective) { addWhereQueryCondition(queryColumn.isNotNull(isEffective)); return queryWrapper; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy