mybatis mapper dao层继承上一级dao层
在 MyBatis 中,通常我们会按照功能划分模块,每个模块都有自己的 Mapper 和 DAO 层。如果你想让某个 Mapper 或 DAO 层继承上一级 DAO 层,可以通过下面的步骤实现:
- 创建上一级 DAO 接口,定义公共的 CRUD 方法。例如,命名为
BaseDao,包含insert、update、delete、selectById等基本操作方法。
public interface BaseDao<T> {
void insert(T entity);
void update(T entity);
void delete(Long id);
T selectById(Long id);
// 其他公共方法...
}
- 创建具体的 DAO 接口,继承上一级 DAO 接口,并定义自己模块特有的方法。例如,命名为
UserDao,继承BaseDao<User>。
public interface UserDao extends BaseDao<User> {
// 自己模块特有的方法
User selectByUsername(String username);
}
- 创建具体的 DAO 实现类,实现上一级 DAO 接口和自己模块特有的方法。例如,命名为
UserDaoImpl。
public class UserDaoImpl extends BaseDaoImpl<User> implements UserDao {
// 实现自己模块特有的方法
@Override
public User selectByUsername(String username) {
// ...
}
}
这样,你就可以在 UserDao 中直接调用 BaseDao 中定义的通用方法,同时还可以定义自己模块特有的方法
原文地址: http://www.cveoy.top/t/topic/i1Y2 著作权归作者所有。请勿转载和采集!