Mybatis-Plus查询一条数据

如何查询学生表中第一个出现的六年级学生的id呢?如果之前没这个需求,我们一般都会按照自己最熟悉的方式先去查找六年级所有的学生数据,然后获取第一条数据。虽然这种方式也可以获取到我们需要的数据,但是执行的SQL语句需要进行全表扫描后获取所有满足的记录数返回。因为我们只需要第一条数据,所以可以通过拼接limit=1来获取该条数据,减少数据库扫描。

可以在查询条件最后拼接limit,限制查询的记录数。

LambdaQueryWrapper<Student> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Student::getLevel,6).last("limit 1");
Student student = getOne(queryWrapper);