注意:本教程使用的数据库脚本、数据模型和环境信息请参考 “MyBatis Plus环境准备” 章节,点击下载示例源码。
在 IService 接口中提供了两个 count 方法,分别用于无条件统计数据记录数,有条件统计数据记录数。count 方法定义如下:
// 查询总记录数 int count(); // 根据 Wrapper 条件,查询总记录数 int count(Wrapper<T> queryWrapper);
参数说明:
queryWrapper:实体对象封装操作类 QueryWrapper
(1)不使用任何条件,查询整个数据表记录总数。代码如下:
package com.hxstrive.mybatis_plus.simple_service.count;
import com.hxstrive.mybatis_plus.service.UserService;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
class Count1Test {
@Autowired
private UserService userService;
@Test
void contextLoads() {
int count = userService.count();
System.out.println("count=" + count);
}
}(2)查询数据表中性别为“男”,薪水大于“7000”的用户数。代码如下:
package com.hxstrive.mybatis_plus.simple_service.count;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.hxstrive.mybatis_plus.model.UserBean;
import com.hxstrive.mybatis_plus.service.UserService;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
class Count2Test {
@Autowired
private UserService userService;
@Test
void contextLoads() {
QueryWrapper<UserBean> wrapper = new QueryWrapper<>();
wrapper.eq("sex", "男");
wrapper.gt("salary", 7000);
int count = userService.count(wrapper);
System.out.println("count=" + count);
}
}