MybatisPlus入门(六)MybatisPlus-空值处理
一、MybatisPlus-空值处理
1.1)问题引入:
在查询中遇到如下情况,有部分筛选条件没有值,如商品价格有最大值和最小值,商品价格部分时候没有值。
1.2)解决办法:
步骤一:新建查询实体类UserQuery继承自User
package com.it.domain.query;import com.it.domain.User;
import lombok.Data;@Data
public class UserQuery extends User {private Integer age2;
}
步骤二:
方式一)条件参数控制,代码如下:
//模拟页面传递过来的查询数据UserQuery uq = new UserQuery();uq.setAge(10);uq.setAge2(30);LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();//先判定第一个参数是否为true,如果为true连接当前条件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);
方式二)if语句控制条件追加,代码如下:
//模拟页面传递过来的查询数据UserQuery uq = new UserQuery();uq.setAge(10);uq.setAge2(30);//null判定LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();lqw.lt(User::getAge, uq.getAge2());if( null != uq.getAge()) {lqw.gt(User::getAge, uq.getAge());}List<User> userList = userDao.selectList(lqw);System.out.println(userList);
成功处理null值。