### 1.报错描述:
**No qualifying bean of type [main.java.base.dao.MyMapper] is defined: expected single matching bean but found 2: attachmentMapper,userMapper。**
### 其他说明:
当只有一个User表时,是不报错的(说明通用mapper的配置没错),但是添加了一个新表Attachment和Attachment表相关代码后,就报这错了。
### 2.其他代码:
a. 有业务表User表,Attachment表;对应mapper:UserMapper.java和AttachmentMapper.java;对应业务接口UserService.java和AttachmentService.java;接口对应相应的实现类UserServiceImpl.java和AttachmentServiceImpl.java。
b. 有自定义通用mapper:MyMapper.java。通用业务处理接口BaseService.java和对应接口实现类BaseServiceImpl.java。
c. 继承描述:
1. 自定义的MyMapper.java继承Mapper,InsertListMapper,IdsMapper。如下:
public interface MyMapper extends
Mapper,
InsertListMapper,
IdsMapper{
}
2. UserMapper.java和AttachmentMapper.java都继承MyMapper.java。如下:
public interface UserMapper extends MyMapper{}
public interface AttachmentMapper extends MyMapper{}
3. UserService.java和AttachmentService都继承BaseService.java。如下:
public interface AttachmentServiceextends BaseService{}
public interface AttachmentService extends BaseService{}
4. UserServiceImpl.java和AttachmentServiceImpl都继承BaseServiceImpl.java,如下:
@Service
public class UserServiceImpl extends BaseServiceImpl implements UserService{}
@Service
public class AttachmentServiceImpl extends BaseServiceImpl implements AttachmentService{}
d. BaseService.java通用业务类如下:
public interface BaseService {
public List select(T record);
}
3. BaseServiceImpl.java如下:
@Service
public class BaseServiceImpl implements BaseService {
@Resource
private MyMapper mapper;
@Override
public List select(T record) {
return mapper.select(record);
}
}
e. 配置文件。application-context.xml。通用mapper配置: