注意:本教程使用的数据库脚本、数据模型和环境信息请参考 “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); } }