mybatis-plus两个limit坑
发表于|更新于
|浏览量:
要成就大事业就要趁青年时代。 ——歌德
前两天遇到一个坑,使用mybatis-plus的时候,SQL出现两个LIMIT

经过查阅官方文档才发现,这是因为配置了两个分页拦截器

经过检查,果然发现两个


然后我去掉一个后就解决了
经过这次BUG,我总结出用别人的框架/组件,一定要多阅读官方文档,这样才不会踩了坑也不知道怎么办
相关推荐
2020-07-20
mysql使用ORDER BY和GROUP BY
今天写代码时遇到一个需求是这样的: 取表内最新的一条数据,根据用户名分组 本来以为又是那种需求,然后就开始写sql,写完一运行,报错。。。 然后发现GROUP BY必须放在ORDER BY的前面 但这样又会导致不能取最新的一条数据 于是用了一个“子查询”的办法解决 1234567891011121314<select id="cowBeer" resultType="map" parameterType="map"> SELECT [字段] FROM ( SELECT DISTINCT [字段] FROM [表名] AS msg, [表名] AS user WHERE [条件] ORDER BY [创建时间字段] DESC ) r GROUP BY r.[分组条件] ORDER BY r.[创建时间字段] DESC </select>
2021-03-31
单表和连表?如何选择?
快乐,使生命得以延续。快乐,是精神和肉体的朝气,是希望和信念,是对自己的现在和来来的信心,是一切都该如此进行的信心。——果戈理 今天做了个小测试啊 我自己造了一百万多条(1029708条)数据 这里测试呢我们首先是编写了一个LEFT JOIN 连表SQL如下 123SELECT *FROM `film` LEFT JOIN `language` ON `film`.language_id = `language`.language_id 我们查询一百万多条后耗时为33457.8317 ms,大约30来秒,这是没有加索引的情况下 我们使用单表查询,然后再拼装 1234567891011long startTime = System.nanoTime();List<Film> films = filmMapper.selectList(Wrappers.lambdaQuery());List<Integer> languageIds = films.parallelStream().map(Film::getLanguageId).d...
2020-12-01
debugのChrome篇
我来到这个世界为的是看太阳和蔚蓝色的田野。——巴尔蒙特 chrome中如何debug?我们可以打开chrome的控制台 找到我们的文件 然后在想要调试的地方打断点 然后执行到此处的时候就会触发调试 我们可以点击右侧的Step into next function call来执行下一步函数调用 可以点击Resume script execution放行到下个断点 然后Step over next function call则可以执行步过,执行到当前函数结尾 Step out of current function步出,则可以跳出我们当前执行的函数 Step和我们第一个Step into next function call差不多,都是执行下一步 Activate breakpoints则是禁用断点 最后一个Pause on exceptions则是在所有异常发生时暂停程序,开始调试 我们也可以直接在代码里右键,点击执行到当前代码 Call Stack区域可以查看我们当前函数以及它的调用者 甚至 调用者的调用者… 下方的Scope区域可以观测我们的参数,...
2021-10-21
@SafeVarargs
不管怎样的事情,都请安静地愉快吧!这是人生。我们要依样地接受人生,勇敢地大胆地,而且永远地微笑着——卢森堡 前两天给mybatis-plus贡献了代码 https://gitee.com/baomidou/mybatis-plus/pulls/192 这里用到了一个注解SafeVarargs 我们在使用动态参数+泛型的时候,会提示来自形参化 vararg 类型的可能的堆污染 例如: 我们这里加上@SafeVarargs后发现它只能加在final或者static修饰的方法上: 不加的话会编译错误 再放几个例子吧: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849package com.ruben.simplescaffold;import org.junit.jupiter.api.Test;import java.util.Arrays;import java.util.List;import java.util.Optional;/** ...
2022-01-20
设置并行流最大线程数
做你自己,因为别人都有人做了。——王尔德 我们可以使用如下方式获取并行流线程数 并行流线程数获取 如果我们需要更改,则可以设置系统属性: 1System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "8"); 例如此处设置为8 则再次获取 可以看到是8个子线程+1个主线程,也就是9个线程 还可以使用ForkJoinPool.getCommonPoolParallelism()直接获取ForkJoinPool中允许设置的最大线程数
2023-11-22
spring bean销毁
天才只可以体会,但绝不能模仿。——狄德罗 对于spring bean销毁,可以使用两种方式: 1.实现org.springframework.beans.factory.DisposableBean接口,重写destroy方法 2.添加jakarta.annotation.PreDestroy注解 但是要注意,例如我这里的代码: 123456789101112131415161718192021222324252627282930313233343536import io.agora.rtm.RtmClient;import jakarta.annotation.PreDestroy;import jakarta.annotation.Resource;import lombok.extern.slf4j.Slf4j;import org.springframework.boot.context.properties.EnableConfigurationProperties;import org.springframework.context.annotation.Bean...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog