超级好用的 Mybatis-plus 常用查询方法汇总

 官方链接:https://mp.baomidou.com/

【1】 常规查询

Wrapper<Product> wrapper =
    new QueryWrapper<Product>()
        .lambda()
        .in(Product::getNumIid, numIids)
        .eq(Product::getDeleted, BooleanEnum.NO.key());
// 查询结果
List<Product> productList = mapper.selectList(wrapper);

【2】条件查询

Wrapper<Product> wrapper =
    new QueryWrapper<Product>()
        .lambda()
        // 如果 numIids 集合个数大于0的时候,才带该条件查询
        .in(numIids.size() > 0, Product::getNumIid, numIids)
        .eq(Product::getDeleted, BooleanEnum.NO.key());
// 查询结果
List<Product> productList = mapper.selectList(wrapper);

【3】分页查询

// 构造查询条件
Wrapper<Product> wrapper =
    new QueryWrapper<Product>()
        .lambda()
        .in(numIids.size() > 0, Product::getNumIid, numIids)
        .eq(Product::getDeleted, BooleanEnum.NO.key());
// 构造分页条件 (第1页,页面大小为10)
IPage<Product> page = new Page<>();
page.setCurrent(1L);
page.setSize(10L);
IPage<Product> p = mapper.selectPage(page, wrapper);
// 当前页对象集合
List<Product> productList = p.getRecords();
// 第几页
long pageNum = p.getCurrent();
// 页面大小
long pageSize = p.getSize();
// 总记录数
long total = p.getTotal();
// 总页数
long pages = p.getPages();

【4】原生 SQL 拼接查询

String sql = " name='苹果' AND price = 18 ";
Wrapper<Product> wrapper =
    new QueryWrapper<Product>()
        .lambda().apply(sql)
        .like(Product::getSceneIds, req.getSceneId())
        .orderByDesc(Product::getSoldQuantity);
// 查询结果
List<Product> productList = mapper.selectList(wrapper);

猜你喜欢

转载自blog.csdn.net/sunnyzyq/article/details/107337259