关于mybatis:Mybatis单表增删改查抽取

5次阅读

共计 1177 个字符,预计需要花费 3 分钟才能阅读完成。

在日常开发中,针对 mybatis 单表的增删改查咱们能够提取进去或者采纳 mybatisplus

  1. 抽取公共 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);
}
  1. 抽取公共 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 接口,这样根本的增删改查咱们就不必写了。

正文完
 0