package team.bangbang.spring.db; import java.util.List; import org.apache.ibatis.annotations.Param; import team.bangbang.common.data.Pagination; //************************************************************************ //系统名称:WEB开发基础平台类库 //class名称:MyBatis查询Mapper /** * 所有Mapp的父接口 * * @author 帮帮组 * @version 1.0 2017-08-12 */ //************************************************************************ public interface IMapper<T> { /** * 插入一条记录 * * @param data 插入的数据,不能为null * @return 1:成功 其它:失败 */ int insert(@Param("data") T data); /** * 删除记录 * * @param where 删除条件,不能为null * @param appendix 附加限定条件 * @return 成功删除的记录数量 */ int delete(@Param("where") T where, @Param("appendix") String appendix); /** * 查询一条记录,并转化为相应的POJO对象 * * @param where 查询条件,不能为null * @param appendix 附加限定条件 * @return 返回结果记录,并转化为相应的POJO对象 */ T getObject(@Param("where") T where, @Param("appendix") String appendix); /** * 修改记录 * * @param where 更新条件,不能为null * @param appendix 附加限定条件 * @param data 更新数据,不能为null * @return 成功修改的记录数量 */ int update(@Param("where") T where, @Param("appendix") String appendix, @Param("data") T data); /** * 查询多条记录,并转化为相应的POJO对象列表 * * @param where 更新条件,不能为null * @param appendix 附加限定条件 * @param pagination 分页参数,如果分页参数为空,表示不分页 * @return 返回结果记录,并转化为相应的POJO对象列表 */ List<T> list(@Param("where") T where, @Param("appendix") String appendix, @Param("pagination") Pagination pagination); /** * 获得符合条件的记录数量 * * @param where 查询条件,不能为null * @param appendix 附加限定条件 * @return 返回记录数量 */ int count(@Param("where") T where, @Param("appendix") String appendix); }