如果我们并不需要总记录数,查询总记录数就完全没有必要,因为它也需要耗时,其实可以设置不查询总记录数。
Page<User> userPage = new Page<>(1 , 2 , false);在这里设置为false即可。
或者
LambdaQueryWrapper<R> userLambdaQueryWrapper = Wrappers.lambdaQuery();
userLambdaQueryWrapper.like(R::getpath, "2021-04/207918513c8b");
Page<RmsPackage> userPage = new Page<>(2, 3);
// userPage.setOptimizeCountSql(false);
userPage.setSearchCount(false);
IPage<RPackage> list = pMapper.selectPage(userPage, userLambdaQueryWrapper);
只是传值,不生成表达式 @Param方式--自定义查询自由度更高的情况
https://blog.csdn.net/u011177064/article/details/104869351?utm_term=mybatisplus%E4%BD%BF%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89sql%E4%BD%BF%E7%94%A8%E5%88%86%E9%A1%B5%E6%9F%A5%E8%AF%A2&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-1-104869351&spm=3001.4430
Page<IRecord> page = new Page<>(pageNum,pageSize);
IPage<I> idsp = iMapper.query(page,pointString.toString(), copse);
List<I> ids =iRecordsp.getRecords();
IPage<I> queryIByPointPage(IPage<I> page, @Param("point") String point, @Param("scope") Integer scope);
<select id="query" resultType="IRecord">
SELECT *
FROM i t
WHERE ST_DWithin(ST_GeographyFromText(#{point}),t.geom::geography,#{scope})
</select>
pageNum 变成sql的offset会根据pageSize自动计算(-1)
pagenum是offset
SELECT id FROM i t WHERE ST_DWithin(ST_GeographyFromText(?),t.geom::geography,?) limit ? offset ?
2
SRID=4326;POINT(113.678425 34.796591666)(String), 5000(Integer), 10(Long), 0(Long)