com.objectsql.query.Query Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of object-sql Show documentation
Show all versions of object-sql Show documentation
Lightweight Object SQL Relational Mapping (OSRM)
/*
* Copyright 2017 @objectsql.com
*
* 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.objectsql.query;
import com.objectsql.support.*;
import java.util.Collection;
import java.util.List;
public interface Query extends IQuery {
static Query newQuery(){
return new QueryImpl();
}
static Query newQuery(String id){
Query baseQuery = new QueryImpl();
baseQuery.setId(id);
return baseQuery;
}
//从class中获取字段,该字段可有可无
Query table(Class> clazz);
Query where(String name, ExpressionType type);
Query where(LambdaQuery fieldFunction, ExpressionType type);
Query whereEqual(String name, Object value);
Query whereNotEqual(String name, Object value);
Query whereEqual(LambdaQuery fieldFunction, Object value);
Query whereNotEqual(LambdaQuery fieldFunction, Object value);
Query whereLike(String name, String value);
Query whereNotLike(String name, String value);
Query whereStartWith(String name, String value);
Query whereEndWith(String name, String value);
Query whereNotStartWith(String name, String value);
Query whereNotEndWith(String name, String value);
Query whereLike(LambdaQuery fieldFunction, String value);
Query whereNotLike(LambdaQuery fieldFunction, String value);
Query whereStartWith(LambdaQuery fieldFunction, String value);
Query whereEndWith(LambdaQuery fieldFunction, String value);
Query whereNotStartWith(LambdaQuery fieldFunction, String value);
Query whereNotEndWith(LambdaQuery fieldFunction, String value);
Query whereLess(String name, Object value);
Query whereLessEqual(String name, Object value);
Query whereMore(String name, Object value);
Query whereMoreEqual(String name, Object value);
Query whereLess(LambdaQuery fieldFunction, Object value);
Query whereLessEqual(LambdaQuery fieldFunction, Object value);
Query whereMore(LambdaQuery fieldFunction, Object value);
Query whereMoreEqual(LambdaQuery fieldFunction, Object value);
Query whereIn(String name, Collection value);
Query whereNotIn(String name, Collection value);
Query whereInValues(String name, Object ... values);
Query whereNotInValues(String name, Object ... values);
Query whereIn(LambdaQuery fieldFunction, Collection value);
Query whereNotIn(LambdaQuery fieldFunction, Collection value);
Query whereInValues(LambdaQuery fieldFunction, Object ... values);
Query whereNotInValues(LambdaQuery fieldFunction, Object ... values);
Query whereIsNull(String name);
Query whereIsNotNull(String name);
Query whereIsEmpty(String name);
Query whereIsNotEmpty(String name);
Query where(String name, Object value, ExpressionType type);
Query whereIsNull(LambdaQuery fieldFunction);
Query whereIsNotNull(LambdaQuery fieldFunction);
Query whereIsEmpty(LambdaQuery fieldFunction);
Query whereIsNotEmpty(LambdaQuery fieldFunction);
Query where(LambdaQuery fieldFunction, Object value, ExpressionType type);
Query where(Condition condition);//select * from test where (a = ? or b = ? ...)
Query where(Expression... expressions);
Query whereBetween(String name, Object value, Object andValue);
Query whereBetween(LambdaQuery fieldFunction, Object value, Object andValue);
Query group(String name);
Query groupCountSelectColumn(String name);
Query having(String name, Object value, ExpressionType type);
Query group(LambdaQuery fieldFunction);
Query groupCountSelectColumn(LambdaQuery fieldFunction);
Query having(LambdaQuery fieldFunction, Object value, ExpressionType type);
Query having(Condition condition);//group by having (a = ? or b = ? ...)
Query orderDesc(String name);
Query orderAsc(String name);
Query orderDesc(LambdaQuery fieldFunction);
Query orderAsc(LambdaQuery fieldFunction);
Query order(Order order);
Query orders(List orders);
Query createQuery(String... names);
Query createQuery(Class> clazz, String... names);
Query createQuery(LambdaQuery... names);
Query createQuery(Class> clazz, LambdaQuery... names);
Query createQuery(Class> clazz, Column... columns);
Query addReturnColumn(Column ... columns);
Query addReturnColumn(String ... columns);
Query addReturnColumn(Columns ... columns);
Query clearReturnColumns();
Query addFixedReturnColumn(Column ... columns);
Query addFixedReturnColumn(String ... columns);
Query addFixedReturnColumn(Columns ... columns);
Query clearFixedReturnColumns();
Query addReturnColumn(LambdaQuery ... fieldFunctions);
Query addFixedReturnColumn(LambdaQuery ... fieldFunctions);
Query distinct();
}