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

group.flyfish.fluent.query.Query Maven / Gradle / Ivy

package group.flyfish.fluent.query;

import group.flyfish.fluent.chain.SQLSegment;
import group.flyfish.fluent.utils.sql.SFunction;

/**
 * 查询构建入口
 *
 * @author wangyu
 */
public interface Query extends Parameterized, SQLSegment {

    /**
     * 从where开始
     *
     * @param getter 字段lambda
     * @param     实体泛型
     * @return 构建条件
     */
    static  Condition where(SFunction getter) {
        return new SimpleCondition(getter, new SimpleQuery());
    }

    /**
     * 以且连接下一个条件
     *
     * @param getter 字段lambda
     * @return 构建操作
     */
     Condition and(SFunction getter);

    /**
     * 以且直接连接其他条件
     *
     * @param condition 其他条件
     * @return 查询操作
     */
    Query and(Condition condition);

    /**
     * 以且嵌套其他查询条件
     *
     * @param query 查询条件
     * @return 结果
     */
    Query and(Query query);


    /**
     * 以或连接下一个条件
     *
     * @param getter 字段lambda
     * @return 构建操作
     */
     Condition or(SFunction getter);

    /**
     * 以或直接连接其他条件
     *
     * @param condition 其他条件
     * @return 查询操作
     */
    Query or(Condition condition);

    /**
     * 以或嵌套其他查询条件
     *
     * @param query 查询条件
     * @return 结果
     */
    Query or(Query query);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy