/** * Mapper 继承该接口后,无需编写 mapper.xml 文件,即可获得CRUD功能 * 这个 Mapper 支持 id 泛型 * @author hubin * @Date 2016-01-23 */public interface BaseMapper{ /** * 插入一条记录 * @param entity * 实体对象 * @return int */ Integer insert(T entity); /** * 根据 ID 删除 * @param id * 主键ID * @return int */ Integer deleteById(Serializable id); /** * 根据 columnMap 条件,删除记录 * @param columnMap * 表字段 map 对象 * @return int */ Integer deleteByMap(@Param("cm") Map columnMap); /** * 根据 entity 条件,删除记录 * @param wrapper * 实体对象封装操作类(可以为 null) * @return int */ Integer delete(@Param("ew") Wrapper wrapper); /** * 删除(根据ID 批量删除) * @param idList * 主键ID列表 * @return int */ Integer deleteBatchIds(List idList); /** * 根据 ID 修改 * @param entity * 实体对象 * @return int */ Integer updateById(T entity); /** * 根据 whereEntity 条件,更新记录 * @param entity * 实体对象 * @param wrapper * 实体对象封装操作类(可以为 null) * @return */ Integer update(@Param("et") T entity, @Param("ew") Wrapper wrapper); /** * 根据 ID 查询 * @param id * 主键ID * @return T */ T selectById(Serializable id); /** * 查询(根据ID 批量查询) * @param idList * 主键ID列表 * @return List */ List selectBatchIds(List idList); /** * 查询(根据 columnMap 条件) * @param columnMap * 表字段 map 对象 * @return List */ List selectByMap(@Param("cm") Map columnMap); /** * 根据 entity 条件,查询一条记录 * @param entity * 实体对象 * @return T */ T selectOne(@Param("ew") T entity); /** * 根据 Wrapper 条件,查询总记录数 * @param wrapper * 实体对象 * @return int */ Integer selectCount(@Param("ew") Wrapper wrapper); /** * 根据 entity 条件,查询全部记录 * @param wrapper * 实体对象封装操作类(可以为 null) * @return List */ List selectList(@Param("ew") Wrapper wrapper); /** * 根据 Wrapper 条件,查询全部记录 * @param wrapper * 实体对象封装操作类(可以为 null) * @return List */ List
用法如下:
public interface CompanyMapper extends BaseMapper{ Integer companyNameRegistered(String companyName); List invitedCompany(Long createUserId); Company getByCompanyName(String companyName);}