注意:本教程使用的数据库脚本、数据模型和环境信息请参考 “MyBatis Plus环境准备” 章节,点击下载示例源码。
本章节将介绍 isNull(为空)和 isNotNull(不为空)条件的用法,它们定义如下:
isNull(R column) isNull(boolean condition, R column)
参数说明:
column:字段名
condition:用于指定当前这个条件是否有效;如果为 true,则应用当前条件;如果为 false,则忽略当前条件。
isNotNull(R column) isNotNull(boolean condition, R column)
参数说明:
column:字段名
condition:用于指定当前这个条件是否有效;如果为 true,则应用当前条件;如果为 false,则忽略当前条件。
实例:构造 name 为空,或者 name 不为空的查询条件,如下:
QueryWrapper<UserBean> wrapper = new QueryWrapper<>(); wrapper.isNull("name"); // 等价 SQL 语句:name is null QueryWrapper<UserBean> wrapper = new QueryWrapper<>(); wrapper.isNotNull("name"); // 等价 SQL 语句:name is not null
package com.hxstrive.mybatis_plus.simple_mapper.condition; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.hxstrive.mybatis_plus.mapper.SimpleMapper; import com.hxstrive.mybatis_plus.model.UserBean; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.util.List; @RunWith(SpringRunner.class) @SpringBootTest class Condition8Test { @Autowired private SimpleMapper simpleMapper; @Test void contextLoads() { System.out.println("================== 分割线 (is null) ==================="); QueryWrapper<UserBean> wrapper = new QueryWrapper<>(); wrapper.isNull("sex"); List<UserBean> userBeanList = simpleMapper.selectList(wrapper); for(UserBean userBean : userBeanList) { System.out.println(userBean); } System.out.println("================== 分割线 (is not null) ==================="); wrapper = new QueryWrapper<>(); wrapper.isNotNull("face"); userBeanList = simpleMapper.selectList(wrapper); for(UserBean userBean : userBeanList) { System.out.println(userBean); } } }
运行上面代码,最终你执行的 SQL 语句如下:
Preparing: SELECT user_id,name,sex,age,face,salary,borthday FROM user WHERE (sex IS NULL) Parameters: Preparing: SELECT user_id,name,sex,age,face,salary,borthday FROM user WHERE (face IS NOT NULL) Parameters: