Mapper method 'com.aiit.mapper.UserMapper.delUser' has an unsupported return type: class com.aiit.pojo.User
时间: 2024-10-17 21:10:19 浏览: 57
HigLabo.Mapper 使用单元测试
在Spring Data JPA 或 MyBatis 等ORM框架中,当你尝试编写一个映射器方法(Mapper Interface)时,如果返回类型不是期望的数据对象,比如`UserMapper.delUser()`方法预期返回的是`void`类型,但实际返回了`User`对象,这将被认为是不支持的。
通常,`delete`或`update`操作的Mapper方法期望无返回值或只返回特定类型的标识符(如ID),因为它们操作的是数据库中的数据状态改变,而不是完整的实体对象。正确的做法应该是:
1. 如果删除操作不需要返回值,应该把`User`作为方法参数,并设置为`void`类型:
```java
public interface UserMapper {
void delUser(User user);
}
```
2. 如果需要返回影响行数或结果集,可以考虑使用`int`或自定义枚举来表示操作的结果:
```java
public interface UserMapper {
int deleteUserById(int id);
}
```
如果你确实需要返回删除后的用户对象,那它不应该是一个删除操作,而可能是获取某个用户然后更新其他信息的操作,这时你应该创建一个新的方法来处理这个场景。
阅读全文