package com.imyeyu.spring.service; import com.imyeyu.java.bean.timi.TimiException; import com.imyeyu.spring.bean.Page; import com.imyeyu.spring.bean.PageResult; import com.imyeyu.spring.mapper.BaseMapper; /** * 抽象实体服务类 * * @param 实体类型 * @param

实体主键类型 * @author 夜雨 * @since 2025-05-14 17:06 */ public abstract class AbstractEntityService implements BaseService { /** 基本 Mapper */ protected BaseMapper baseMapper; /** @return Mapper 实例 */ protected abstract BaseMapper mapper(); /** 检查 mapper */ private void checkMapper() { if (baseMapper == null) { baseMapper = mapper(); } TimiException.required(baseMapper, "mapper() can not be null"); } @Override public PageResult page(Page page) { checkMapper(); return Page.toResult(baseMapper, page, new PageResult<>()); } public void create(T t) { checkMapper(); baseMapper.insert(t); } public T get(P id) { checkMapper(); return baseMapper.select(id); } public void update(T t) { checkMapper(); baseMapper.updateSelective(t); } public void delete(P p) { checkMapper(); baseMapper.delete(p); } public void destroy(P p) { checkMapper(); baseMapper.destroy(p); } }