List<Map<String, Object>> userList = userMapper.selectMaps(new QueryWrapper<User>().select("id", "name"));select传表字段名还是entity字段名
时间: 2024-03-20 20:39:38 浏览: 70
详解MyBatis-Plus Wrapper条件构造器查询大全
在使用 MyBatis-Plus 进行查询时,`select` 方法传入的是表字段名而非实体类字段名。
这是因为 MyBatis-Plus 底层是通过解析实体类上的 `@TableField` 注解来获取实体类字段与表字段之间的映射关系,从而构建 SQL 语句。因此,使用表字段名可以确保查询条件和返回结果都与数据库中的表结构保持一致。
如果使用实体类字段名,在实体类属性与表字段不一致的情况下,可能会出现查询条件不生效或返回结果不符合预期的情况。
所以,建议在使用 `select` 方法时,传入表字段名,如下所示:
```java
List<Map<String, Object>> userList = userMapper.selectMaps(new QueryWrapper<User>().select("id", "name"));
```
阅读全文