MyBatis Plus的查询操作怎么使用?

MyBatis Plus提供了多种方式来实现查询操作:

1. 基础查询

// 根据ID查询 
User user = userMapper.selectById(1);

// 条件查询,Wrapper是条件构造器
List<User> users = userMapper.selectList(new QueryWrapper<User>());

// 分页查询  
IPage<User> page = userMapper.selectPage(new Page<>(1, 10), null);

2. Lambda 查询

LambdaQuery<User> query = new LambdaQuery<>();
query.eq(User::getId, 1);

List<User> users = userMapper.selectList(query);

3. 结果映射

List<UserDTO> dtos = userMapper.selectDTOList(new QueryWrapper<>());  
// selectDTOList 是 SQL查询,将结果映射为 UserDTO

4. 分组查询

List<Map<String, Object>> maps = userMapper
       .selectMaps(new QueryWrapper<User>().groupBy("country"));

5. 子查询

List<User> users = userMapper.selectBySubQuery(new LambdaQueryWrapper<User>()
      .in(User::getAge, new LambdaQueryWrapper<User>().select(User::getAge)));

6. 动态 SQL 查询

// 通过@Where注解
public List<User> selectByFilter(@Param("filter") String filter);

以上方法可以实现 MyBatis Plus 的各种查询操作。

主要特点是:

  • 提供简单易用的Java API进行查询
  • 简化了SQL构建过程
  • 通过Wrapper实现条件构建
  • 支持Lambda查询