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

com.mizhousoft.commons.mapper.CrudMapper Maven / Gradle / Ivy

package com.mizhousoft.commons.mapper;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Set;

import org.apache.ibatis.annotations.Param;

/**
 * 增加读取更新删除Mapper
 *
 * @version
 */
public interface CrudMapper extends BaseMapper
{
	/**
	 * 保存对象
	 * 
	 * @param entity
	 * @return
	 */
	 int save(S entity);

	/**
	 * 更新对象
	 * 
	 * @param entity
	 * @return
	 */
	 int update(S entity);

	/**
	 * 根据ID删除对象
	 * 
	 * @param id
	 */
	int delete(ID id);

	/**
	 * 根据ID查找
	 * 
	 * @param id
	 * @return
	 */
	T findById(@Param("id") ID id);

	/**
	 * 根据id查找对象
	 * 
	 * @param ids
	 * @return
	 */
	List findByIds(@Param("ids") Collection ids);

	/**
	 * 根据名称查找
	 * 
	 * @param name
	 * @return
	 */
	List findByName(@Param("name") String name);

	/**
	 * 根据名称查找,只返回一个
	 * 
	 * @param name
	 * @return
	 */
	T findOneByName(@Param("name") String name);

	/**
	 * 获取所有对象
	 * 
	 * @return
	 */
	List findAll();

	/**
	 * 查询ID列表
	 * 
	 * @return
	 */
	Set findIdList();

	/**
	 * 统计大小
	 * 
	 * @return
	 */
	long count();
}