最后我们还要介绍两种组合查询条件形式:
- 并且(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) }}
经验总结扩展阅读
-
中国不容错过的这几个适合旅游的好地方 中国旅游景点推荐
-
-
-
-
-
-
-
|儿女结婚之前,准亲家见面,要做到“两问、两不问”
-
也许是幼年时期的我们 也许真心爱过的我们,被失去的情感伤过。不敢继续爱了
-
-
硫磺硫磺皂每天用来洗脸,“皮肤”会有什么变化,看完你就懂了
-
|喜欢吃的菜,第二天餐桌上一定有,有一种幸福叫婆婆宠!
-
-
-
-
一辈子是一件太漫长的事情|愿意为你做这6件事的男人,值得你爱他一辈子!
-
老阿姨|女孩子有这“3脸型”,请放过“刘海儿”,否则当心被叫“老阿姨”
-
-
2023仪器类热门专业有哪些 就业前景比较好的专业
-
2022年农历九月初一举办成人仪式吉日 2022年9月26日是举办成人仪式的黄道吉日吗