在 MyBatis 中,可以通过继承 Mapper 接口来扩展自己的 DAO 接口。这样可以利用 MyBatis 的 Mapper 代理机制,自动实现一些基本的 CRUD 操作,减少编写重复代码的工作量。

首先,创建一个 Mapper 接口,该接口定义一些基本的数据库操作方法,如增删改查等。例如:

public interface BaseMapper<T> {
    void insert(T entity);
    void update(T entity);
    void delete(Long id);
    T getById(Long id);
    List<T> getAll();
}

然后,在自己的 DAO 接口中继承该 Mapper 接口,并且添加自己的扩展方法。例如:

public interface UserMapper extends BaseMapper<User> {
    User getByUsername(String username);
    List<User> getByAge(int age);
}

在上面的例子中,UserMapper 继承了 BaseMapper 接口,并且添加了两个自定义的方法:getByUsername 和 getByAge。

最后,在 MyBatis 的配置文件中,将 Mapper 接口注册到 MapperScannerConfigurer 中。例如:

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.example.dao"/>
</bean>

这样,MyBatis 就会扫描指定的包路径下的所有 Mapper 接口,并自动创建对应的实现类。这些实现类会继承 BaseMapper 接口,并且包含自定义的方法。

使用时,只需注入对应的 Mapper 接口,即可调用其中定义的方法。例如:

@Autowired
private UserMapper userMapper;

public void addUser(User user) {
    userMapper.insert(user);
}

public User getUserByUsername(String username) {
    return userMapper.getByUsername(username);
}

通过继承 Mapper 接口,可以方便地扩展自己的 DAO 接口,并利用 MyBatis 的自动实现功能,简化数据库操作的编写。

MyBatis 继承 Mapper 接口扩展 DAO 接口:简化数据库操作

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

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