在日常开发中,针对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接口,这样根本的增删改查咱们就不必写了。
发表回复