最后我们还要介绍两种组合查询条件形式:
- 并且(and)
package com.itheima;import com.baomidou.mybatisplus.core.conditions.Wrapper;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.itheima.dao.UserDao;import com.itheima.domain.User;import com.itheima.domain.query.UserQuery;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import java.util.List;import java.util.Map;@SpringBootTestclass Mybatisplus02DqlApplicationTests { @Autowired private UserDao userDao; @Test void testGetAll() { //并且关系 LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>(); //并且关系:10到30岁之间(直接链式书写即可) lqw.lt(User::getAge, 30).gt(User::getAge, 10); List<User> userList = userDao.selectList(lqw); System.out.println(userList); }}
- 或者(or)
package com.itheima;import com.baomidou.mybatisplus.core.conditions.Wrapper;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.itheima.dao.UserDao;import com.itheima.domain.User;import com.itheima.domain.query.UserQuery;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import java.util.List;import java.util.Map;@SpringBootTestclass Mybatisplus02DqlApplicationTests { @Autowired private UserDao userDao; @Test void testGetAll() { //或者关系 LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>(); //或者关系:小于10岁或者大于30岁(在条件之间采用or方法来隔离) lqw.lt(User::getAge, 10).or().gt(User::getAge, 30); List<User> userList = userDao.selectList(lqw); System.out.println(userList); }}空值处理我们在做实际项目处理时,会出现各种查询框架
例如价格查询搜索产品,但我们可能不会同时给出最低价限制和最高价限制
我们以代码来做一个简单示例:
package com.itheima;import com.baomidou.mybatisplus.core.conditions.Wrapper;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.itheima.dao.UserDao;import com.itheima.domain.User;import com.itheima.domain.query.UserQuery;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import java.util.List;import java.util.Map;@SpringBootTestclass Mybatisplus02DqlApplicationTests { @Autowired private UserDao userDao; @Test void testGetAll() {// 模拟页面传递过来的查询数据 UserQuery uq = new UserQuery(); // 如果我们下面的数据有一个没有设置,就会导致查询语句中的?没有填充,导致搜索失败 uq.setAge(10); uq.setAge2(null); // null判定 LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>(); lqw.lt(User::getAge, uq.getAge2()); lqw.gt(User::getAge, uq.getAge()); List<User> userList = userDao.selectList(lqw); System.out.println(userList) }}
经验总结扩展阅读
-
微信聊天照片误删可以恢复吗,微信上好友发的照片误删了怎么恢复
-
为什么第一眼喜欢的人,做不了朋友?眼缘这种东西,就是很神奇
-
-
-
65岁爷爷常去集市买的3款白酒,当时没钱不常喝,现在很难再见了
-
化妆品|开皮肤管理店,自己不够专业,自主学习没有头绪!
-
一本情感簿|《闯关东》里的“厄运体”姑娘:这个苦命女人,真的是“作”?
-
-
-
-
蜜蜡对身体有什么好处,佩戴蜜蜡对身体有什么好处 戴蜜蜡有什么好处
-
-
-
算命婚姻,2020年下元节后一天是安葬逝者吉日吗,安葬逝者注意什么?
-
在快节奏生活状态下 在快节奏生活状态下,一眼定恋情的人越来越多
-
抗癌 获得5倍抗癌功效!把这种食材加入小吃中,抗癌、减肥、护心效果翻倍!
-
植物大战僵尸怎么重新玩(植物大战僵尸通关后重新打)
-
-
-