MyBatis-Plus分页查询方式

分页查询基本方式

java 复制代码
@SpringBootTest(classes = LearningApplication.class)
public class MPTest {
    @Autowired
    ILearningLessonService lessonService;

    @Test
    public void test(){
        /**
         * Page<LearningLesson>:MyBatisPlus提供的分页对象
         * 1:当前页数
         * 2:每页显示的记录数
         */
        Page<LearningLesson> page = new Page<>(1, 2);

        /**
         * wrapper:使用Lambda表达式构造的查询条件。
         */
        LambdaQueryWrapper<LearningLesson> wrapper = new LambdaQueryWrapper<>();
        //用户 id 等于 2 的记录
        wrapper.eq(LearningLesson::getUserId, 2);
        
        //业务层的服务类调用分页查询方法   (page, wrapper) -> (分页对象,查询条件)
        lessonService.page(page, wrapper);
    }

按照某一字段升序或者降序排序

java 复制代码
	@Test
    public void test1(){
        Page<LearningLesson> page = new Page<>(1, 2);

		/**
		*构建按照什么字段进行排序
		*/
        List<OrderItem> itemList = new ArrayList<>();
        //指定排序的对象
        OrderItem item = new OrderItem();
        item.setColumn("latest_learn_time");//按什么latest_learn_time字段排序
        item.setAsc(false);//降序排序
        itemList.add(item);
        //排序条件添加到分页对象中
        page.addOrder(itemList);

        LambdaQueryWrapper<LearningLesson> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(LearningLesson::getUserId, 2);
        lessonService.page(page, wrapper);
    }

简化写法

java 复制代码
    @Test
    public void test2(){
    	//分页对象
        Page<LearningLesson> page = new Page<>(1, 2);
		
		//构建分页查询条件
        List<OrderItem> itemList = new ArrayList<>();
        OrderItem item = new OrderItem();
        item.setColumn("latest_learn_time");
        item.setAsc(false);
        itemList.add(item);
        page.addOrder(itemList);
        
        //构造查询条件和调用分页查询方法一起。
        lessonService.lambdaQuery()
                .eq(LearningLesson::getUserId,2)
                .page(page);
    }
相关推荐
Flynn Liang4 分钟前
Spring AI 2.0 深度解析:ChatClient、Advisor 链与 MCP——Java 工程师的 AI 落地最优解
java·人工智能·spring·大模型·架构设计·spring ai
灿飞11 分钟前
Kotlin与Java虚拟机六:基础与类型系统:一切皆对象,但对象有代价
java·kotlin
计算机毕设定制辅导-无忧学长20 分钟前
《基于微信小程序健康习惯激励系统设计与实现》
java·spring boot·mysql·微信小程序·uniapp·健康习惯激励系统
雪芽蓝域zzs1 小时前
第 1 章:IDEA 创建 SpringBoot3.5.16 Maven 项目
java·maven·intellij-idea
golang学习记1 小时前
IDEA 开始换芯,发布全新AI版终端
java·人工智能·intellij-idea
vipxieliang1 小时前
ValidX 正则表达式预编译优化:Pattern 复用策略
java·spring boot·后端
Wang's Blog2 小时前
Java 项目实战:交友项目 - FastDFS 工作原理
java·大数据·交友
Wang's Blog2 小时前
Java 项目实战:交友项目 - 保存访客记录
java·开发语言·交友
liangbo72 小时前
Spring系列01:IoC 与 DI 到底解决了什么
java·spring
江湖中的阿龙2 小时前
Oracle 紧急安全警报:Java 9.1 分漏洞 CVE-2026-91403,撤销对 eMudhra 风险证书的信任
java·安全·oracle