在日常开发中,针对mybatis单表的增删改查咱们能够提取进去或者采纳mybatisplus
- 抽取公共Dao接口
public interface IBaseDao<T> { int deleteByPrimaryKey(Long id); int insert(T t); int insertSelective(T t); T selectByPrimaryKey(Long id); int updateByPrimaryKeySelective(T t); int updateByPrimaryKey(T t);}
- 抽取公共Service
public interface IBaseService<T> { int deleteByPrimaryKey(Long id); int insert(T t); int insertSelective(T t); T selectByPrimaryKey(Long id); int updateByPrimaryKeySelective(T t); int updateByPrimaryKey(T t);}
public abstract class BaseServiceImpl<T> implements IBaseService<T>{ public abstract IBaseDao<T> getBaseDao(); @Override public int deleteByPrimaryKey(Long id) { return getBaseDao().deleteByPrimaryKey(id); } @Override public int insert(T t) { return getBaseDao().insert(t); } @Override public int insertSelective(T t) { return getBaseDao().insertSelective(t); } @Override public T selectByPrimaryKey(Long id) { return getBaseDao().selectByPrimaryKey(id); } @Override public int updateByPrimaryKeySelective(T t) { return getBaseDao().updateByPrimaryKeySelective(t); } @Override public int updateByPrimaryKey(T t) { return getBaseDao().updateByPrimaryKey(t); }}
之后咱们写的Mapper接口须要继承IBaseDao<?>,
Service层接口须要继承IBaseService<?>并补上泛型,实现类除了实现接口还须要继承BaseServiceImpl,并重写getBaseDao()办法返回对应的mapper接口,这样根本的增删改查咱们就不必写了。