mybatisplus 多个条件查询
时间: 2023-11-17 09:01:12 浏览: 119
MyBatis-plus支持多个条件查询,可以使用QueryWrapper类来实现。QueryWrapper类提供了许多方法来构建查询条件,例如eq()、ne()、like()、in()等等。可以通过链式调用这些方法来构建多个查询条件,最后使用selectList()方法执行查询并返回结果。下面是一个示例代码:
```
@Test
public void queryWrapper() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 18)
.like("name", "Tom")
.in("status", 0, 1);
List<User> users = userMapper.selectList(queryWrapper);
users.forEach(System.out::println);
}
```
这个示例代码中,我们使用QueryWrapper类构建了三个查询条件:age等于18、name包含Tom、status等于0或1。最后使用selectList()方法执行查询并返回结果。
相关问题
mybatisplus多个条件查询
MyBatis-Plus提供了多种方式来实现多个条件查询,以下是常用的两种方式:
1. 使用Wrapper构建查询条件:
MyBatis-Plus提供了Wrapper接口和QueryWrapper、UpdateWrapper两个实现类,可以通过这些类构建复杂的查询条件。例如,我们可以使用QueryWrapper来构建一个带有多个查询条件的查询:
```
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "张三").ge("age", 18).orderByAsc("age");
List<User> userList = userMapper.selectList(queryWrapper);
```
上述代码中,我们使用QueryWrapper构建了一个查询条件,其中使用了eq、ge、orderByAsc等方法来添加多个查询条件,最后使用selectList方法执行查询。
2. 使用@Param注解传递多个参数:
另一种常用的方式是使用@Param注解来传递多个查询条件。例如,我们可以在Mapper接口中定义一个方法,使用@Param注解传递多个查询条件:
```
List<User> selectUserList(@Param("name") String name, @Param("age") Integer age);
```
然后在XML文件中使用这些参数构建查询条件:
```
<select id="selectUserList" resultType="com.example.User">
SELECT * FROM user WHERE name = #{name} AND age >= #{age}
</select>
```
上述代码中,我们在XML文件中使用了#{name}和#{age}来引用@Param注解中的参数,构建了一个带有多个查询条件的查询。在调用这个方法时,我们需要传递相应的参数。
mybatisplus多表条件查询
MybatisPlus是一个基于MyBatis的ORM框架增强工具,它提供了一种方便的方式来执行多表关联条件查询。在MybatisPlus中,你可以通过`@TableId`, `@TableField`, 和 `关联映射`注解来处理多表查询,并通过构建动态SQL的方式来进行复杂的条件过滤。
例如,假设你有两张表`User`和`Role`,它们之间存在一对多的关系。如果你需要查询某个用户及其所有角色,可以这样做:
```java
List<User> users = UserExtend.selectByCondition(new QueryWrapper<User>()
.eq("role_id", roleId) // 假设你想查询id为roleId的用户及其角色
.leftJoin("INNER", "role", "user.role_id=role.id")); // 这里通过leftJoin进行关联查询
```
在这个例子中,`QueryWrapper`是一个强大的条件查询工具,允许你在运行时构造SQL查询。`leftJoin`用于指定关联关系并进行条件查询。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)