queryWrapper.select(User::getName)
时间: 2025-03-19 18:09:49 浏览: 10
MyBatis Plus QueryWrapper Select 方法用法
QueryWrapper
是 MyBatis-Plus 提供的一个用于构建查询条件的对象,支持链式调用和灵活的 SQL 条件构造。其中 select
方法可以指定查询字段,从而实现部分字段的选择而不是默认返回全部字段。
以下是基于 User
表格中的 getName
字段为例展示如何使用 QueryWrapper
的 select
方法:
示例代码
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserMapper userMapper; // 假设已经定义了一个 UserMapper 接口继承 BaseMapper<User>
public List<String> getUserNames() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// 使用 select 方法只选择 name 字段
queryWrapper.select("name");
// 查询所有符合条件的结果并仅获取名字列表
return userMapper.selectList(queryWrapper).stream()
.map(User::getName)
.collect(Collectors.toList());
}
}
上述代码展示了通过 queryWrapper.select("name")
明确指定了只需要查询 name
字段的操作方式[^1]。这有助于减少不必要的数据传输量以及提高性能。
另外,在调试过程中可以通过开启 debug 模式查看生成的具体 SQL 语句来验证其可读性和准确性[^2]。
关于日期类型的映射注意事项
如果表结构中涉及到了日期或者时间戳类型,则需要注意配置文件里是否启用了 JSR310 类型的支持。一旦启用此功能 (useJSR310Types=true
) ,则数据库中的 DATE, TIME 等列会被自动转换成对应的 Java 时间类实例 (如 LocalDate 或 LocalDateTime)[^3] 。因此在实际开发时要特别留意这些细节以免造成潜在错误。
最后值得注意的是,在项目设计阶段考虑到可能存在的缓存穿透风险问题,并采取适当措施加以防范是非常重要的[^4]。
相关推荐


















