cn.easyutil.project.base.service.BaseService Maven / Gradle / Ivy
package cn.easyutil.project.base.service;
import cn.easyutil.project.base.sqlExecuter.SQLExecuter;
import java.util.List;
/** 顶级service类 */
public interface BaseService {
/**
* 分页查询
* @param t 使用T中不为null的字段查询
* @return 返回页码对应的数据集合
*/
List listPage(T t);
List listPage(SQLExecuter executer);
/**
* 修改数据
* (id为null,抛出异常)
* @param t 依据T中id进行修改
* @return 修改条数
*/
Integer update(T t);
Integer update(SQLExecuter executer);
/**
* 新增数据
* (无参数返回异常)
* @param t 依据不为空的字段进新增
* @return 返回条数
*/
T add(T t);
/**
* 依据不为空的参数查询一条数据
* @param t 依据T中不为空的字段作为条件
* @return 返回单条数据
*/
T get(T t);
T get(SQLExecuter executer);
/**
* 依据id查询一条数据
* @param id 唯一标识
* @return 返回单条数据
*/
T getById(Long id);
Integer deleteById(Long id);
/**
* 依据对象属性值删除数据
* (无参数返回异常)
* @param t 依据T中不为空的字段进行删除
* @return
*/
Integer delete(T t);
Integer delete(SQLExecuter executer);
/**
* 依据对象属性查询所有数据
* (无分页,全量查询)
* @param t 依据T中不为null的属性进行查询
* @return 数据集合
*/
List select(T t);
List select(SQLExecuter executer);
/**
* 获取条数
*/
Integer count(T query);
Integer count(SQLExecuter executer);
}