• MyBatis-plus:查询操作、分页查询



    目录:

    (1)查询操作

    (2) 分页查询


    (1)查询操作

     

     

     

    1. package com.kuang;
    2. import com.kuang.mapper.UserMapper;
    3. import com.kuang.pojo.User;
    4. import org.junit.jupiter.api.Test;
    5. import org.springframework.beans.factory.annotation.Autowired;
    6. import org.springframework.boot.test.context.SpringBootTest;
    7. import java.util.Arrays;
    8. import java.util.HashMap;
    9. import java.util.List;
    10. @SpringBootTest
    11. class MybatisPlusApplicationTests {
    12. //测试,我们没有写任何CRUD,测试我们能不能使用
    13. //继承了BaseMapper,所有的方法都来自父类,我们也可以编写自己的扩展方法
    14. @Autowired
    15. private UserMapper userMapper;
    16. //查询测试
    17. @Test
    18. public void testSelectById(){
    19. User user=userMapper.selectById(1L);
    20. System.out.println(user);
    21. }
    22. //批量查询,参数是一个集合,参数我们用数组工具类
    23. @Test
    24. public void testSelectByCatchId(){
    25. List users = userMapper.selectBatchIds(Arrays.asList(1, 2, 3));
    26. users.forEach(System.out::println);
    27. }
    28. //条件查询之使用map
    29. @Test
    30. public void testSelectByMap(){
    31. HashMap map = new HashMap<>();
    32. //自定义查询
    33. map.put("name","狂神说Java2");
    34. map.put("age",3);
    35. List users = userMapper.selectByMap(map);
    36. users.forEach(System.out::println);
    37. }
    38. }

    查询测试:

    批量查询:

    条件查询值map:

    通过使用MyBatis-plus之后发现 基本的CRUD,都得到了简化,不用再写复杂的sql了

    (2) 分页查询

     

     

     配置类:配置分页插件

    1. package com.kuang.config;
    2. import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
    3. import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
    4. import org.mybatis.spring.annotation.MapperScan;
    5. import org.springframework.context.annotation.Bean;
    6. import org.springframework.context.annotation.Configuration;
    7. import org.springframework.transaction.annotation.EnableTransactionManagement;
    8. @MapperScan("com.kuang.mapper") //注解扫描,扫描mapper文件
    9. @EnableTransactionManagement //事务注解,自动管理事务
    10. @Configuration //注解代表是一个配置类
    11. public class MyBatisPlusConfig {
    12. //注册乐观锁插件
    13. @Bean
    14. public OptimisticLockerInterceptor optimisticLockerInterceptor(){
    15. return new OptimisticLockerInterceptor();
    16. }
    17. //分页插件 旧版
    18. @Bean
    19. public PaginationInterceptor paginationInterceptor() {
    20. return new PaginationInterceptor();
    21. }
    22. }

     测试类:

    1. package com.kuang;
    2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
    3. import com.kuang.mapper.UserMapper;
    4. import com.kuang.pojo.User;
    5. import org.junit.jupiter.api.Test;
    6. import org.springframework.beans.factory.annotation.Autowired;
    7. import org.springframework.boot.test.context.SpringBootTest;
    8. import java.util.Arrays;
    9. import java.util.HashMap;
    10. import java.util.List;
    11. @SpringBootTest
    12. class MybatisPlusApplicationTests {
    13. //测试,我们没有写任何CRUD,测试我们能不能使用
    14. //继承了BaseMapper,所有的方法都来自父类,我们也可以编写自己的扩展方法
    15. @Autowired
    16. private UserMapper userMapper;
    17. //测试分页查询
    18. @Test
    19. public void testPage(){
    20. //参数 参数一:当前页,参数二:页面大小
    21. Page page= new Page<>(1,5);
    22. userMapper.selectPage(page,null);
    23. System.out.println(page.getTotal());
    24. page.getRecords().forEach(System.out::println);
    25. }
    26. }

     

     

  • 相关阅读:
    Linux基础
    Linux 【进程】
    将STM32 Flash的一部分虚拟为大容量存储设备 USB_Device
    肠道菌群失调与炎症性肠病的关联
    SAP UI5 应用开发教程之一百零二 - SAP UI5 应用的打印(Print)功能实现详解
    进销存ERP系统源码 基于springboot+vue开发
    (49)其他的性能测试场景
    汽车诊断协议UDS概述
    Vue生成带图片logo以及文字的二维码组件,可下载二维码为图片,附组件调用代码--核心qrcode
    【AIGC核心技术剖析】Hotshot-XL 一种 AI 文本转 GIF 模型(论文 + 代码:经过训练可与Stable Diffusion XL一起使用)
  • 原文地址:https://blog.csdn.net/dengfengling999/article/details/126021720