“Mybatis-plus中QueryWrapper的多种用法小结”是一篇关于Mybatis-plus中QueryWrapper使用方法的文章。在介绍QueryWrapper的多种用法之前,我们需要了解一下QueryWrapper的基本概念。
QueryWrapper基本概念
QueryWrapper是Mybatis-plus提供的一种条件构造器,可以用于构造SQL的where条件。它提供了许多静态方法,可以方便地构造各种where条件。
使用步骤
- 创建QueryWrapper对象
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
- 在queryWrapper对象上使用各种静态方法构建条件
queryWrapper.eq("name", "张三"); // where name = '张三'
- 使用Mapper接口的方法执行SQL
List<User> userList = userMapper.selectList(queryWrapper);
QueryWrapper的多种用法
1. 等于条件(eq)
queryWrapper.eq("name", "张三"); // where name = '张三'
2. 不等于条件(ne)
queryWrapper.ne("name", "张三"); // where name <> '张三'
3. 大于条件(gt)
queryWrapper.gt("age", 18); // where age > 18
4. 小于条件(lt)
queryWrapper.lt("age", 18); // where age < 18
5. 大于等于条件(ge)
queryWrapper.ge("age", 18); // where age >= 18
6. 小于等于条件(le)
queryWrapper.le("age", 18); // where age <= 18
7. BETWEEN条件(between)
queryWrapper.between("age", 18, 30); // where age between 18 and 30
8. NOT BETWEEN条件(notBetween)
queryWrapper.notBetween("age", 18, 30); // where age not between 18 and 30
9. IN条件(in)
queryWrapper.in("age", Arrays.asList(18, 20, 25)); // where age in (18, 20, 25)
10. NOT IN条件(notIn)
queryWrapper.notIn("age", Arrays.asList(18, 20, 25)); // where age not in (18, 20, 25)
11. LIKE条件(like)
queryWrapper.like("name", "张%"); // where name like '张%'
12. NOT LIKE条件(notLike)
queryWrapper.notLike("name", "张%"); // where name not like '张%'
13. IS NULL条件(isNull)
queryWrapper.isNull("name"); // where name is null
14. IS NOT NULL条件(isNotNull)
queryWrapper.isNotNull("name"); // where name is not null
15. OR条件(or)
queryWrapper.eq("age", 18).or().eq("name", "张三"); // where age = 18 or name = '张三'
示例1
假设我们有一个User表,其中包含字段id、name、age。我们需要查询年龄为18岁,并且姓名为张三或李四的用户信息。
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 18).and(wrapper -> wrapper.eq("name", "张三").or().eq("name", "李四"));
List<User> userList = userMapper.selectList(queryWrapper);
示例2
假设我们有一个Order表,其中包含字段id、user_id、order_name、create_time。我们需要查询UserId为1或2,并且订单时间在2020年3月1日到2020年4月1日之间的订单信息。
QueryWrapper<Order> queryWrapper = new QueryWrapper<>();
queryWrapper.in("user_id", 1, 2)
.and(wrapper -> wrapper.between("create_time", "2020-03-01", "2020-04-01"));
List<Order> orderList = orderMapper.selectList(queryWrapper);
以上是关于“Mybatis-plus中QueryWrapper的多种用法小结”的完整攻略,希望能够帮助到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis-plus中QueryWrapper的多种用法小结 - Python技术站