MyBatis 继承 Mapper 接口:扩展多层 DAO 接口
在 MyBatis 中,可以通过继承 Mapper 接口来扩展多层 DAO 接口。
首先,创建一个基础的 Mapper 接口,该接口定义了一些通用的数据库操作方法,例如增删改查等。
public interface BaseMapper<T> {
void insert(T entity);
void deleteById(Long id);
void update(T entity);
T getById(Long id);
List<T> getAll();
}
然后,可以创建一个具体的实体 DAO 接口,继承自 BaseMapper 接口,并添加一些特定的数据库操作方法。
public interface UserMapper extends BaseMapper<User> {
List<User> getByAge(int age);
}
这样,UserMapper 接口就扩展了 BaseMapper 接口,并添加了一个根据年龄查询用户的方法。
接下来,可以创建一个具体的实现类,实现 UserMapper 接口,并实现其中的方法。
public class UserMapperImpl implements UserMapper {
@Override
public void insert(User entity) {
// 实现插入逻辑
}
@Override
public void deleteById(Long id) {
// 实现删除逻辑
}
@Override
public void update(User entity) {
// 实现更新逻辑
}
@Override
public User getById(Long id) {
// 实现根据 ID 查询逻辑
return null;
}
@Override
public List<User> getAll() {
// 实现查询所有用户逻辑
return null;
}
@Override
public List<User> getByAge(int age) {
// 实现根据年龄查询用户逻辑
return null;
}
}
最后,在 MyBatis 的配置文件中,将 UserMapper 接口添加为一个 Mapper,并指定其对应的实现类。
<configuration>
<mappers>
<mapper class="com.example.UserMapper"/>
</mappers>
</configuration>
这样,就完成了 MyBatis 中继承 Mapper 接口,并扩展多层 DAO 接口的配置。可以通过 UserMapper 接口来调用 BaseMapper 接口中的通用方法,以及自定义的方法。
原文地址: https://www.cveoy.top/t/topic/oo3H 著作权归作者所有。请勿转载和采集!