MybatisPlus的条件构造器

一.Wapper介绍

 1.查询书名包含a,年龄到20-30,邮箱不为null

模糊查询  like,区间查询  between ,判断查询  isNotNull

//        构造器
        QueryWrapper<Book> wrapper=new QueryWrapper<>();
//        查询书名包含a,年龄到20-30,邮箱不为null
        wrapper.like("bookname","高")
                .between("age",20,30)
                .isNotNull("email");
        List<Book> books = bookMapper.selectList(wrapper);
        books.forEach(System.out::println);

2.排序条件 

orderByDesc:降序   orderByAsc:升序
QueryWrapper<Book> wrapper=new QueryWrapper<>();
        //按照年龄降序排序,相同的话,再按照id升序
        wrapper.orderByDesc("age")
                .orderByAsc("id");
        List<Book> books = bookMapper.selectList(wrapper);
        books.forEach(System.out::println);

3.组装删除  也是用querywrapper

//        删除邮箱地址为空
        QueryWrapper<Book> wrapper=new QueryWrapper<>();
        wrapper.isNull("bookcounts");
        int delete = bookMapper.delete(wrapper);
        System.out.println(delete);

4.修改功能      年龄大于20并且用户名包含a,或邮箱为null的信息修改

//年龄大于20并且用户名包含a,或邮箱为null的信息修改
        QueryWrapper<Book> wrapper=new QueryWrapper<>();
        wrapper.gt("age",20)
                .like("username","a")
                .or()
                .isNull("email");
        Book book=new Book();
        int update = bookMapper.update(book,wrapper);

5.条件优先级   用户名包含a 并且(年龄大于20或者邮箱不为null)的用户信息修改

​
QueryWrapper<Book> wrapper=new QueryWrapper<>();
        //lambda表达式优先执行
        wrapper.like("name","a")
                .and(i->i.gt("age",20)
                .or()
                .isNull("emsil"));
        Book book=new Book();
        int update = bookMapper.update(book,wrapper);

​

6.查询字段   

QueryWrapper<Book> wrapper=new QueryWrapper<>();
        //查询书名,detail信息
        wrapper.select("bookname","detail");
        List<Map<String, Object>> maps = bookMapper.selectMaps(wrapper);
        maps.forEach(System.out::println);

7.子查询

//id小于等于4
        //SELECT bookid,bookname,bookcounts,detail,is_deleted FROM book WHERE is_deleted=0 AND (bookid IN (select bookid from book where bookid<=4))
        QueryWrapper<Book> wrapper=new QueryWrapper<>();
        wrapper.inSql("bookid","select bookid from book where bookid<=4");
        List<Book> books = bookMapper.selectList(wrapper);
        books.forEach(System.out::println);

8.更新  好处是不用再new实体类了

//名字包含高  并且(id大于4或者detail为null)
        UpdateWrapper<Book> wrapper=new UpdateWrapper<>();
        wrapper.like("bookname","高")
                .and(i->i.gt("bookid",4).or().isNull("detail"));
        wrapper.set("bookcounts",40);
        int update = bookMapper.update(null,wrapper);
        System.out.println(update);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值