在使用Mybatis做web開發時,每一個模塊的數據持久層的接口都會定義:增刪改查四個方法。我想為什么不新建一個Base接口來做所有數據持久層的父接口呢?
於是,我試驗了一下,建立了一個泛型接口,里面定義了四個操作數據庫的基本方法,對應增刪改查:
public interface BaseMapper<T> {
public T selectByPrimaryKey(Integer id);
public void insert(T t);
public void updateByPrimaryKey(Integer id);
public void deleteByPrimaryKey(Integer id);
}
然后新建User的數據庫持久層接口UserMapper繼承BaseMapper:
public interface UserMapper extends BaseMapper<User>{
// public void insertUser(User usr);
// public User selectByPrimary(Integer userId);
// public void update(User usr);
public int selectCountByEmail(String email);
public User selectByEmailAndPass(User usr);
}
測試可行。這樣就不用每次創建持久層接口的時候都要寫一遍增刪改查的方法,只需該接口繼承自BaseMapper即可。
