当前使用版本(必填,否则不予处理)
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