已知数据库的内容如下所示INSERT INTO `user` VALUES (339, '王道计组'); 下列代码为什么使用http://localhost:8081/users?userId=339打印的是null @GetMapping public void queryUserDate(@RequestParam Integer userId){ QueryWrapper<User> wrapper=new QueryWrapper<>(); wrapper.eq("user_id",userId); List<User> users=userDao.selectList(wrapper); System.out.println(users); }
时间: 2024-03-22 20:40:05 浏览: 60
根据您提供的代码和数据,我们可以看到您使用了MyBatis-Plus的ORM框架,并且从前端传入了一个名为userId的参数。但是在查询时,您使用了user_id作为查询条件,这可能导致查询不到数据。您可以尝试更改代码,将查询条件改为userId,如下所示:
```
@GetMapping
public void queryUserDate(@RequestParam Integer userId){
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper.eq("userId",userId);
List<User> users=userDao.selectList(wrapper);
System.out.println(users);
}
```
此外,您还需要注意在实体类User中,需要将userId与数据库表中的user_id字段进行映射,可以使用@TableId注解指定主键id的映射关系,如下所示:
```
public class User {
@TableId(value = "user_id", type = IdType.AUTO)
private Integer userId;
private String name;
//其他属性和方法
//...
}
```
这样,在查询时就可以正确地根据userId查询到对应的用户数据了。
阅读全文