在日常开发中,针对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接口,这样基本的增删改查我们就不用写了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。