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

top.wboost.common.base.service.BaseService Maven / Gradle / Ivy

package top.wboost.common.base.service;

import java.lang.reflect.Field;
import java.util.List;

import org.springframework.data.domain.Page;

import top.wboost.common.base.enums.QueryType;
import top.wboost.common.base.page.QueryPage;
import top.wboost.common.base.repository.BaseRepository;

/**
 * Service公共基础类
 * ClassName: BaseService 
 * @author jwSun
 * @date 2016年7月17日
 */
public interface BaseService {

    //*************************基础查询功能*************************************//

    /**
     * 新增
     * @author jwSun
     * @date 2017年4月7日 上午11:04:51
     * @param t
     * @return
     */
    public T save(T t);

    /**
     * 更新有值的字段
     * @param id 更新id
     * @param t 更新值
     * @return
     */
    public T update(ID id, T t);

    /**
     * 删除
     * @author jwSun
     * @date 2016年7月17日下午12:04:59
     */
    public boolean delete(@SuppressWarnings("unchecked") ID... ids);

    /**
     * 根据id修改单个属性
     * @author jwSun
     * @date 2016年10月13日下午8:17:47
     * @param id 修改资源id
     * @param key 修改资源key
     * @param value 修改资源value
     */
    public void updateById(ID id, Field key, Object value);

    /**
     * 根据id查询单个数据
     * @param id 查询数据id
     * @return T 查询类
     * @date 2016年7月17日下午12:06:13
     */
    public T findById(ID id);

    /**
     * 根据调传入条件查询List
     * @param t 带查询条件的查询类
     * @param basePage 分页参数
     * @param likeFields 使用like条件查询的属性值
     * @return List 查询结果列表
     */
    public Page findList(T t, QueryPage basePage, String... likeFields);

    /**
     * 根据调传入条件查询List
     * @param t 带查询条件的查询类
     * @param likeFields 使用like条件查询的属性值
     * @return List 查询结果列表
     */
    public Page findList(T t, String... likeFields);

    /**
     * 根据key-value查询
     * @param clazz 查询的类型
     * @param key 查询属性名
     * @param value 查询值
     * @return
     */
    public List findByField(String key, Object value);

    /**
     * 根据key-value查询
     * @param clazz 查询的类型
     * @param key  查询属性名
     * @param value 查询值
     * @param queryType 查询类型(like equal)
     * @return
     */
    @Deprecated
    public List findByField(String key, Object value, QueryType queryType);

    void setRepository(BaseRepository repository);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy