在 MyBatis Plus 中,selectCount 方法用于统计满足特定条件的数据数量。以下是一个使用 selectCount 的代码示例:

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

public interface UserMapper extends IService<User> {
    // 不需要在这里定义count方法,因为IService已经提供了该功能
}

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

    public int countUsersByStatus(String status) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("status", status); // 查询状态为status的用户
        return baseMapper.selectCount(queryWrapper);
    }
}

在上述示例中:

  1. UserMapper 继承了 IService<User> 接口,因此可以使用 baseMapper 访问到 selectCount 等基本CRUD方法。
  2. UserServiceImpl 是业务层实现类,它通过调用 baseMapperselectCount 方法来执行查询。

如果要统计所有用户的总数,可以直接调用 selectCount 而无需添加任何条件:

public int countAllUsers() {
    return baseMapper.selectCount(null);
}

这里,传递给 selectCount 的参数是 QueryWrapper 对象,若传入 null 则表示统计表中的所有记录数。