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

cn.vonce.sql.service.SelectService Maven / Gradle / Ivy

The newest version!
package cn.vonce.sql.service;

import cn.vonce.sql.bean.Paging;
import cn.vonce.sql.bean.Select;
import cn.vonce.sql.helper.Wrapper;
import cn.vonce.sql.page.PageHelper;
import cn.vonce.sql.page.PagingService;
import cn.vonce.sql.page.ResultData;

import java.util.List;
import java.util.Map;

/**
 * Select 通用业务接口
 *
 * @param 
 * @author Jovi
 * @version 1.0
 * @email [email protected]
 * @date 2019年6月27日下午3:57:33
 */
public interface SelectService extends PagingService {

    /**
     * 根据id条件查询
     *
     * @param id 唯一id
     * @return
     */
    T selectById(ID id);

    /**
     * 根据id条件查询(可指定返回类型、查询的表)
     *
     * @param returnType 指定返回到类型
     * @param id         唯一id
     * @return
     */
     R selectById(Class returnType, ID id);

    /**
     * 根据ids条件查询
     *
     * @param ids 唯一id数组
     * @return
     */
    List selectByIds(ID... ids);

    /**
     * 根据id条件查询(可指定返回类型、查询的表)
     *
     * @param returnType 指定返回到类型
     * @param ids        唯一id数组
     * @return
     */
     List selectByIds(Class returnType, ID... ids);

    /**
     * 根据自定义条件查询 只返回一条记录
     *
     * @param select 查询对象
     * @return
     */
    T selectOne(Select select);

    /**
     * 根据自定义条件查询 只返回一条记录(可指定返回类型)
     *
     * @param returnType 指定返回到类型
     * @param select     查询对象
     * @return
     */
     R selectOne(Class returnType, Select select);

    /**
     * 根据自定义条件查询返回Map
     *
     * @param select 查询对象
     * @return
     */
    Map selectMap(Select select);

    /**
     * 根据条件查询
     *
     * @param where 查询条件
     * @param args  条件参数
     * @return
     */
    T selectOneBy(String where, Object... args);

    /**
     * 根据条件查询(可指定返回类型、查询的表)
     *
     * @param returnType 指定返回到类型
     * @param where      查询条件
     * @param args       条件参数
     * @return
     */
     R selectOneBy(Class returnType, String where, Object... args);

    /**
     * 根据条件查询
     *
     * @param where 条件包装器
     * @return
     */
    T selectOneBy(Wrapper where);

    /**
     * 根据条件查询
     *
     * @param returnType 指定返回到类型
     * @param where      条件包装器
     * @param 
     * @return
     */
     R selectOneBy(Class returnType, Wrapper where);

    /**
     * 根据条件查询
     *
     * @param where 查询条件
     * @param args  条件参数
     * @return
     */
    List selectBy(String where, Object... args);

    /**
     * 根据条件查询
     *
     * @param where 条件包装器
     * @return
     */
    List selectBy(Wrapper where);

    /**
     * 根据条件查询
     *
     * @param paging 分页对象
     * @param where  查询条件
     * @param args   条件参数
     * @return
     */
    List selectBy(Paging paging, String where, Object... args);

    /**
     * 根据条件查询
     *
     * @param paging 分页对象
     * @param where  条件包装器
     * @return
     */
    List selectBy(Paging paging, Wrapper where);

    /**
     * 根据条件查询(可指定返回类型、查询的表)
     *
     * @param returnType 指定返回到类型
     * @param where      查询条件
     * @param args       条件参数
     * @return
     */
     List selectBy(Class returnType, String where, Object... args);

    /**
     * 根据条件查询(可指定返回类型、查询的表)
     *
     * @param returnType 指定返回到类型
     * @param where      条件包装器
     * @param 
     * @return
     */
     List selectBy(Class returnType, Wrapper where);

    /**
     * 根据条件查询(可指定返回类型、查询的表)
     *
     * @param returnType 指定返回到类型
     * @param paging     分页对象
     * @param where      查询条件
     * @param args       条件参数
     * @return
     */
     List selectBy(Class returnType, Paging paging, String where, Object... args);

    /**
     * 根据条件查询(可指定返回类型、查询的表)
     *
     * @param returnType 指定返回到类型
     * @param paging     分页对象
     * @param where      条件包装器
     * @param 
     * @return
     */
     List selectBy(Class returnType, Paging paging, Wrapper where);

    /**
     * 根据条件查询统计
     *
     * @param where 查询条件
     * @param args  条件参数
     * @return
     */
    int countBy(String where, Object... args);

    /**
     * 根据条件查询统计
     *
     * @param where 条件包装器
     * @return
     */
    int countBy(Wrapper where);

    /**
     * 统计全部
     *
     * @return
     */
    int count();

    /**
     * 查询全部
     *
     * @return
     */
    List select();

    /**
     * 查询全部(可指定返回类型、查询的表)
     *
     * @param returnType 指定返回到类型
     * @return
     */
     List select(Class returnType);

    /**
     * 查询全部
     *
     * @param paging 分页对象
     * @return
     */
    List select(Paging paging);

    /**
     * 查询全部(可指定返回类型、查询的表)
     *
     * @param returnType 指定返回到类型
     * @param paging     分页对象
     * @return
     */
     List select(Class returnType, Paging paging);

    /**
     * 根据自定义条件查询(可自动分页)返回List结果集
     *
     * @param select 查询对象
     * @return
     */
    List> selectMapList(Select select);

    /**
     * 根据自定义条件查询(可自动分页)返回List
     *
     * @param select 查询对象
     * @return
     */
    List select(Select select);

    /**
     * 根据自定义条件查询(可自动分页)返回List (可指定返回类型、查询的表)
     *
     * @param returnType 指定返回到类型
     * @param select     查询对象
     * @return
     */
     List select(Class returnType, Select select);

    /**
     * 根据自定义条件统计
     *
     * @param select 查询对象
     * @return
     */
    int count(Select select);

    /**
     * 根据自定义条件统计
     *
     * @param returnType 指定返回到类型
     * @param select     查询对象
     * @return
     */
    int count(Class returnType, Select select);

    /**
     * 分页
     *
     * @param select     查询对象
     * @param pageHelper 分页助手
     * @return
     */
    ResultData paging(Select select, PageHelper pageHelper);

    /**
     * 分页
     *
     * @param select  查询对象
     * @param pagenum 当前页
     * @param pagenum 每页数量
     * @return
     */
    ResultData paging(Select select, int pagenum, int pagesize);

    /**
     * 分页
     *
     * @param returnType 指定返回到类型
     * @param select     查询对象
     * @param pageHelper 分页助手
     * @param 
     * @return
     */
     ResultData paging(Class returnType, Select select, PageHelper pageHelper);

    /**
     * 分页
     *
     * @param returnType 指定返回到类型
     * @param select     查询对象
     * @param pagenum    当前页
     * @param pagenum    每页数量
     * @param 
     * @return
     */
     ResultData paging(Class returnType, Select select, int pagenum, int pagesize);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy