在 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);
}
}
在上述示例中:
UserMapper
继承了IService<User>
接口,因此可以使用baseMapper
访问到selectCount
等基本CRUD方法。UserServiceImpl
是业务层实现类,它通过调用baseMapper
的selectCount
方法来执行查询。
如果要统计所有用户的总数,可以直接调用 selectCount
而无需添加任何条件:
public int countAllUsers() {
return baseMapper.selectCount(null);
}
这里,传递给 selectCount
的参数是 QueryWrapper
对象,若传入 null
则表示统计表中的所有记录数。