package com.dounine.corgi.mongo.dao; import com.dounine.corgi.mongo.dto.BaseDto; import com.dounine.corgi.mongo.entity.BaseEntity; import org.springframework.data.mongodb.core.query.Criteria; import java.util.List; import java.util.Map; /** * Created by lgq on 16/9/3. */ public interface IRep<Entity extends BaseEntity, Dto extends BaseDto> { /** * 查询所有数据 * * @return */ List<Entity> findAll(); /** * 查询分页数据 * * @param dto * @return */ List<Entity> findByPage(Dto dto); /** * 查询数据量 * * @return */ Long count(Dto dto); /** * 查询第一个对象 * * @param dto * @return */ Entity findOne(Dto dto); /** * 自定义查询 * * @param criteria * @return */ List<Entity> findByCriteria(Criteria criteria); /** * 自定义查询 * * @param dto * @return */ List<Entity> findByCis(Dto dto,boolean pageAndSort); /** * 查询某个对象 * * @param id * @return */ Entity findById(String id); /** * 保存对象 * * @param entity */ void save(Entity entity); /** * 保存对象列表 * * @param entities */ void save(List<Entity> entities); /** * 通过id删除对象 * * @param id */ void remove(String id); /** * 删除对象 * * @param entity */ void remove(Entity entity); /** * 删除对象列表 * * @param entities */ void remove(List<Entity> entities); /** * 更新对象 * * @param entity */ void update(Entity entity); /** * 更新对象列表 * * @param entities */ void update(List<Entity> entities); /** * 根据字段条件查询对象列表 * * @param conditions */ public List<Entity> findByCis(Map<String, Object> conditions); }