mybatis继承mapper接口扩展自己的dao接口
在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
最后,在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的自动实现功能,简化数据库操作的编写
原文地址: http://www.cveoy.top/t/topic/i1RL 著作权归作者所有。请勿转载和采集!