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

cn.schoolwow.quickdao.domain.database.dql.subCondition.LambdaSubCondition Maven / Gradle / Ivy

There is a newer version: 5.3.1
Show newest version
package cn.schoolwow.quickdao.domain.database.dql.subCondition;

import cn.schoolwow.quickdao.domain.database.dql.condition.Condition;
import cn.schoolwow.quickdao.module.database.dql.condition.domain.SFunction;

import java.io.Serializable;
import java.util.Collection;

/**
 * 定义Lambda查询参数接口
 */
public interface LambdaSubCondition extends Serializable {
    /**
     * 添加on查询条件
     */
    LambdaSubCondition on(SFunction primaryField, SFunction joinTableField);

    /**
     * 添加空查询
     *
     * @param field 指明哪个字段为Null
     */
    LambdaSubCondition addNullQuery(SFunction field);

    /**
     * 添加非空查询
     *
     * @param field 指明哪个字段不为Null
     */
    LambdaSubCondition addNotNullQuery(SFunction field);

    /**
     * 添加空查询
     *
     * @param field 指明哪个字段不为空字符串
     */
    LambdaSubCondition addEmptyQuery(SFunction field);

    /**
     * 添加非空查询
     *
     * @param field 指明哪个字段不为空字符串
     */
    LambdaSubCondition addNotEmptyQuery(SFunction field);

    /**
     * 添加范围查询语句
     *
     * @param field  字段名
     * @param values 指明在该范围内的值
     */
    LambdaSubCondition addInQuery(SFunction field, Object... values);

    /**
     * 添加范围查询语句
     *
     * @param field  字段名
     * @param values 指明在该范围内的值
     */
    LambdaSubCondition addInQuery(SFunction field, Collection values);

    /**
     * 添加范围查询语句
     *
     * @param field  字段名
     * @param values 指明在不该范围内的值
     */
    LambdaSubCondition addNotInQuery(SFunction field, Object... values);

    /**
     * 添加范围查询语句
     *
     * @param field  字段名
     * @param values 指明在不该范围内的值
     */
    LambdaSubCondition addNotInQuery(SFunction field, Collection values);

    /**
     * 添加between语句
     *
     * @param field 字段名
     * @param start 范围开始值
     * @param end   范围结束值
     */
    LambdaSubCondition addBetweenQuery(SFunction field, Object start, Object end);

    /**
     * 添加Like查询
     *
     * @param field 字段名
     * @param value 字段值
     */
    LambdaSubCondition addLikeQuery(SFunction field, Object value);

    /**
     * 添加字段查询
     *
     * @param field 字段名
     * @param value 字段值
     */
    LambdaSubCondition addQuery(SFunction field, Object value);

    /**
     * 添加字段查询
     *
     * @param field    字段名
     * @param operator 操作符,可为>,>=,=,<<=
     * @param value    字段值
     */
    LambdaSubCondition addQuery(SFunction field, String operator, Object value);

    /**
     * 添加自定义字段,具体映射规则请看Condition类的JavaDoc注释
     *
     * @param fields 自定义查询列
     * @see Condition
     */
    LambdaSubCondition addColumn(SFunction... fields);

    /**
     * 关联表查询,子表可再次关联子表
     * 

调用本方法时请先查看Condition类JavaDoc注释和SubCondition类的JavaDoc注释

* * @param clazz 待关联的子表 * @param primaryField 主表关联字段 * @param joinTableField 子表关联字段 * @see Condition * @see LambdaSubCondition */ LambdaSubCondition joinTable(Class clazz, SFunction primaryField, SFunction joinTableField); /** * 关联表查询,子表可再次关联子表 *

调用本方法时请先查看Condition类JavaDoc注释和SubCondition类的JavaDoc注释

* * @param clazz 待关联的子表 * @param primaryField 主表关联字段 * @param joinTableField 子表关联字段 * @param compositField 子表实体类成员变量名 * @see Condition * @see LambdaSubCondition */ LambdaSubCondition joinTable(Class clazz, SFunction primaryField, SFunction joinTableField, SFunction compositField); /** * 添加分组查询 * * @param fields 分组字段 */ LambdaSubCondition groupBy(SFunction... fields); /** * 设置指定字段排序方式 * * @param field 升序排列字段名 * @param asc 排序方式,值为asc或者desc */ LambdaSubCondition order(SFunction field, SFunction asc); /** * 根据指定字段升序排列 * * @param fields 升序排列字段名 */ LambdaSubCondition orderBy(SFunction... fields); /** * 根据指定字段降序排列 * * @param fields 降序排列字段名 */ LambdaSubCondition orderByDesc(SFunction... fields); /** * 返回关联查询对象 */ SubCondition done(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy