zoukankan      html  css  js  c++  java
  • MyBatisPlus查询

    一,基本查询

      //测试查询By Id
        @Test
        public void testselectById(){
            TUser tUser = tUserMapper.selectById(1L);
            System.out.println(tUser);
        }

    // 测试批量查询!By ids @Test public void testselectByBatchid(){ List<TUser> users = tUserMapper.selectBatchIds (Arrays. asList(1, 2, 3)); users. forEach (System.out::println); }


    //按条件查询之一使用map操作 @Test public void testselectByBatchIds() { HashMap<String, Object> map = new HashMap<String, Object>(); //自定义要查询 map.put("username", "zl222"); List<TUser> tUsers = tUserMapper.selectByMap (map); tUsers.forEach (System.out::println); }


       构造器查询

     构造器图文介绍

    • Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示
    • AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件
    • AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
    • LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper
    • LambdaUpdateWrapper : Lambda 更新封装Wrapper
    • QueryWrapper : Entity 对象封装操作类,不是用lambda语法
    • UpdateWrapper : Update 条件封装,用于Entity对象更新操作

     

    使用方法

     小小一例:

         QueryWrapper<TmStockroom> wrapper = new QueryWrapper<>();
            wrapper.eq("code",req.getCode())
                    .or()
                    .eq("name",req.getName());
            List<TmStockroom> tmStockrooms = stockroomCommandMapper.selectList(wrapper);
            //tmStockrooms.forEach(System.out::println);
            if(tmStockrooms.size()!=0){
                throw new BusinessException("仓库code或者仓库名称已存在");
            }

    控制台sql:

    二,分页查询

    1,引入MyBatisPlus插件

      @Bean
        public PaginationInterceptor paginationInterceptor() {
            return new PaginationInterceptor();
        }

    2,分页查询

      @Test
        public void testPage(){
            //第一个参数:当前页数
            //第二个参数:显示数据条数
            Page<TUser> tUserPage = new Page<>(1,5);
            IPage<TUser> tUserIPage = tUserMapper.selectPage(tUserPage, null);
            tUserIPage.getRecords().forEach(System.out::println);
        }
  • 相关阅读:
    类名+函数名(参数1,参数2.....){.......return this;}
    报错!无法从静态上下文中引用非静态 变量
    ERROR无法从静态上下文中引用非静态变量
    字符编码笔记:ASCII,Unicode和UTF-8
    MySQL其他类型常用函数
    MySQL流程函数
    MySQL日期和时间函数
    MySQL数值函数
    MySQL字符串函数
    MySQL位运算符优先级
  • 原文地址:https://www.cnblogs.com/zhulei2/p/13260600.html
Copyright © 2011-2022 走看看