在 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 接口中的通用方法,以及自定义的方法。

MyBatis 继承 Mapper 接口:扩展多层 DAO 接口

原文地址: https://www.cveoy.top/t/topic/oo3H 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录