MyBatis Plus 的条件查询
时间: 2023-10-30 10:09:00 浏览: 45
MyBatis Plus 的条件查询可以使用 LambdaQueryWrapper 条件构造器或 QueryWrapper 条件构造器来实现。
LambdaQueryWrapper 条件构造器是一种类型安全的条件构造器,使用 Lambda 表达式来构建查询条件。例如,查询名字为“张三”的用户可以使用以下代码:
```java
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<User>()
.eq(User::getName, "张三");
List<User> userList = userMapper.selectList(queryWrapper);
```
QueryWrapper 条件构造器是一种基于字符串的条件构造器,使用字符串拼接的方式来构建查询条件。例如,查询年龄大于等于 18 岁的用户可以使用以下代码:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<User>()
.ge("age", 18);
List<User> userList = userMapper.selectList(queryWrapper);
```
除了以上两种方式,MyBatis Plus 还提供了多种查询条件构造器,可以根据具体需求选择使用。
相关问题
mybatis plus条件查询
MyBatis Plus是一个优秀的Java持久层框架,它提供了很多方便的查询方法和功能。在使用MyBatis Plus进行条件查询时,可以采用以下几种方式:
1. 常规格式:可以通过创建QueryWrapper对象并调用其相应方法来设置查询条件。例如:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name", "张三");
List<User> userList = userMapper.selectList(wrapper);
```
这个例子中,我们通过eq方法设置了查询条件为名称等于"张三"的用户。
2. 链式编程格式:可以通过链式编程的方式设置多个查询条件。例如:
```java
List<User> userList = userMapper.selectList(
new QueryWrapper<User>()
.eq("name", "张三")
.gt("age", 18)
);
```
这个例子中,我们通过eq方法设置了名称等于"张三"的查询条件,并且通过gt方法设置了年龄大于18的查询条件。
3. Lambda格式:可以使用Lambda表达式来设置查询条件。例如:
```java
List<User> userList = userMapper.selectList(
Wrappers.<User>lambdaQuery()
.eq(User::getName, "张三")
.gt(User::getAge, 18)
);
```
这个例子中,我们使用lambdaQuery方法创建了一个LambdaQueryWrapper对象,并通过eq方法设置了名称等于"张三"的查询条件,以及通过gt方法设置了年龄大于18的查询条件。
以上是MyBatis Plus条件查询的一些常见用法。根据您的具体需求,您可以选择适合的方法来设置查询条件。
mybatis plus 条件查询
Mybatis Plus提供了条件构造器来简化条件查询。在application.yml文件中,你可以通过配置mybatis-plus的日志控制台输出,以及关闭启动图标。
下面是一个使用条件构造器进行条件查询的示例代码:
```java
@SpringBootTest
class Mybatisplus02DqlApplicationTests {
@Autowired
private UserDao userDao;
@Test
void testGetAll(){
//模拟页面传递过来的查询数据
UserQuery uq = new UserQuery();
uq.setAge(10);
uq.setAge2(30);
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
lqw.lt(null!=uq.getAge2(), User::getAge, uq.getAge2());
lqw.gt(null!=uq.getAge(), User::getAge, uq.getAge());
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);
}
}
```
在这个示例中,首先创建了一个LambdaQueryWrapper对象,并使用lt方法和gt方法设置了查询条件。然后使用selectList方法执行查询,并打印结果。通过这种方式,我们可以简化复杂的SQL语句,提升开发效率。
另外,使用条件构造器进行条件查询有几个常用的方法:
- eq方法用于等于条件的查询,即"="操作符。
- lt方法用于小于条件的查询,即"<"操作符。
- gt方法用于大于条件的查询,即">"操作符。
通过这些方法的组合,我们可以构造出复杂的查询条件来满足不同的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [Java开发学习(四十二)----MyBatisPlus查询语句之条件查询](https://blog.csdn.net/FaithWh/article/details/128893925)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [MybatisPlus条件查询方法全解](https://blog.csdn.net/weixin_45529338/article/details/130448579)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)