当前使用版本(必填,否则不予处理)

3.5.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

原始需求:

需要根据条件查询top 1的数据;

使用目前已有的查询方法实现方式:

第一种: 使用com.baomidou.mybatisplus.extension.service.IService#getOne; 此方式弊端是先查出list取第一条,如果list数据量大可能对性能有影响; 第二种: 使用com.baomidou.mybatisplus.core.mapper.BaseMapper#selectPage,将分页参数设置为current=1、size=1; 此方式弊端是先执行了count方法,也对性能有一定影响; 第三种: 自己封装一个公共方法,拼接“limit 0,1”或者“top 1”; 此方式弊端是在代码中写死语句,无法灵活地针对不同类型数据库使用,比如项目中同时存在sql server、mysql和国产数据库,使用起来比较繁琐; 第四种: 自己手动写sql;

愿景:

希望能提供一个根据条件查询top 1数据的方法; 或者能否在com.baomidou.mybatisplus.core.mapper.BaseMapper#selectPage的基础上提供一个不执行count、只执行select的方法,如此则可以变相实现查询top任意条数据的方法。

重现步骤(如果有就写完整)

报错信息

Comment From: miemieYaho

分页可以不查count