1.分页查询引入游标
mybatis-plus提供的分页查询相关的包装类
Page<User> userPage = userMapper.selectPage(new Page<User>(page,pageSize), new LambdaQueryWrapper<>());
实现分页查询 参数含义:多少页,每页的大小
默认mp执行了两条sql语句
(可以通过page的参数设置取消查询总数)
第二条是核心sql语句limit ?,? 第一个是偏移量(offset),第二个是返回记录数 找到offset需要把之前的叶子结点遍历一遍(起始不走索引),导致深分页问题
where语句的使用可以通过索引加快查询
举例(create_time已经创建索引)
分页(深分页)
SELECT id, dept, age, name, create_time, last_login_time
FROM t
# WHERE create_time < '2022-12-26 18:02:22'
ORDER BY create_time DESC
LIMIT 1000000,10;
where条件(游标)
SELECT id, dept, age, name, create_time, last_login_time
FROM t
WHERE create_time < '2025-06-23 18:59:46'
ORDER BY create_time DESC
LIMIT 10;
2.工具类
MallChat: mallchat的后端项目,是一个既能购物又能聊天的电商系统。以互联网企业级开发规范的要求来实现它,电商该有的购物车,订单,支付,推荐,搜索,拉新,促活,推送,物流,客服,它都必须有。持续更新ing (gitee.com) com.abin.mallchat.common.common.utils中有相关工具类 mp的版本为3.4
mysql
构建where语句,使用索引
redis
使用zset