在service实现类中实现mapper中的接口 @Override方法未从其超类重写方法
时间: 2023-05-31 22:02:25 浏览: 333
这是因为您在实现 mapper 接口的方法时,没有正确地覆盖(重写)其超类中定义的方法。
请确保您的 mapper 接口和实现类之间存在正确的继承关系,并且您的实现类中的方法签名与 mapper 接口中定义的方法签名完全一致。此外,建议使用 @Override 注解来确保您正确地覆盖了超类中的方法。
例如,以下是一个正确实现 mapper 接口的示例:
```
public interface UserMapper {
User selectUserById(int id);
}
public class UserMapperImpl implements UserMapper {
private final SqlSession sqlSession;
public UserMapperImpl(SqlSession sqlSession) {
this.sqlSession = sqlSession;
}
@Override
public User selectUserById(int id) {
return sqlSession.selectOne("selectUserById", id);
}
}
```
在上述示例中,UserMapperImpl 类实现了 UserMapper 接口,并正确地覆盖了 selectUserById() 方法。注意,这里使用了 @Override 注解来确保正确地覆盖了超类中的方法。
相关问题
使用mybaitisplus时在service实现类中实现mapper中的接口 @Override方法未从其超类重写方法
这可能是因为您没有正确地继承mapper接口。在service实现类中,您需要使用`@Service`注释将类标记为服务类,并使用`@Autowired`注释将mapper接口注入到服务类中。然后,您需要在服务类中实现mapper接口中的方法,并使用`@Override`注释重写方法。
例如,如果您有一个名为UserMapper的mapper接口和一个名为UserService的服务类,则可以按照以下方式实现:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> findAllUsers() {
return userMapper.selectAll();
}
@Override
public User findUserById(Long id) {
return userMapper.selectById(id);
}
//其他方法实现
}
```
请确保您的mapper接口和服务类都在正确的包中,并且您已经正确地配置了MyBatis Plus。如果您的问题仍然存在,请提供更多的代码和错误信息以便我们更好地帮助您。
阅读全文