Wrapper查询两个相等的条件如何写
时间: 2024-01-09 13:03:57 浏览: 8
使用Wrapper对象查询两个相等的条件可以使用`eq`方法多次调用,也可以使用`and`方法链式调用多个条件,例如:
```
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "张三").and(wrapper -> wrapper.eq("age", 18).eq("gender", "男"));
List<User> userList = userMapper.selectList(queryWrapper);
```
上面的代码中,使用了`and`方法链式调用了两个相等的条件,即`age=18`和`gender='男'`,并且这两个条件是“与”的关系,即同时满足。
相关问题
mybatis-plus中如何使用querywrapper查询两个属性
可以使用`QueryWrapper`的`lambda`表达式来查询两个属性,示例如下:
```java
// 创建 QueryWrapper
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// 查询 name 和 age 两个属性相等的记录
queryWrapper.lambda().eq(User::getName, "张三").eq(User::getAge, 20);
// 执行查询
List<User> userList = userMapper.selectList(queryWrapper);
```
上述代码中,创建了一个`QueryWrapper`对象,然后使用`lambda`表达式来表示查询条件,其中`eq`方法表示查询相等条件,`: :`后面的`User::getName`和`User::getAge`表示实体类`User`中的属性名,最后使用`selectList`方法来执行查询。
使用MyBatis-Plus框架中的QueryWrapper构建查询条件的关联查询怎么做?
在MyBatis-Plus框架中,QueryWrapper可以用于构建查询条件,并且支持关联查询。
关联查询可以通过QueryWrapper的join()方法来实现。例如,我们有两张表T1和T2,T1中有字段id和name,T2中有字段id和t1_id。现在要查询T1中name为"Tom"的记录,同时关联查询T2中t1_id与T1中id相等的记录。
代码实现如下:
```
QueryWrapper<T1> wrapper = new QueryWrapper<>();
wrapper.eq("name","Tom");
wrapper.join("T2", "T1.id=T2.t1_id");
List<Map<String, Object>> list = t1Mapper.selectMaps(wrapper);
```
可以看到,首先我们创建了一个QueryWrapper对象,并设置了查询条件,然后我们调用了join()方法,指定了关联表的名字和关联条件。最后我们调用selectMaps()方法执行查询,并将结果以Map的形式返回。
在关联查询中,我们还可以使用leftJoin()、rightJoin()来指定关联类型。同时,还可以使用select()方法来指定返回的字段。