注意:本教程使用的数据库脚本、数据模型和环境信息请参考 “MyBatis Plus环境准备” 章节,点击下载示例源码。
本章节将介绍 eq(等于)和 ne(不等于)判断条件。
eq(R column, Object val) eq(boolean condition, R column, Object val)
实例: 过滤 name 等于“张三”的用户信息
QueryWrapper<UserBean> wrapper = new QueryWrapper<>(); wrapper.eq("name", "张三"); // 等价 SQL 语句:name = '张三'
ne(R column, Object val) ne(boolean condition, R column, Object val)
实例:查询 name 不等于“张三”的用户信息
QueryWrapper<UserBean> wrapper = new QueryWrapper<>(); wrapper.ne("name", "张三");// 等价的 SQL 语句:name <> '张三' 或 name != '张三'
参数说明:
column:要用于条件筛选的数据库表列名称,如:name
val:用于指定数据表列的值,条件将根据该值进行筛选
condition:用于指定当前这个条件是否有效;如果为 true,则应用当前条件;如果为 false,则忽略当前条件。
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 Condition4Test { @Autowired private SimpleMapper simpleMapper; @Test void contextLoads() { // 查询:age=30 and sex!='男' // 或者:age=30 and sex<>'男' QueryWrapper<UserBean> wrapper = new QueryWrapper<>(); wrapper.eq("age", 30); wrapper.ne("sex", "男"); List<UserBean> userBeanList = simpleMapper.selectList(wrapper); System.out.println("result size=" + userBeanList.size()); } }
运行上面程序,将执行如下 SQL 语句:
SELECT user_id,name,sex,age,face,salary,borthday FROM user WHERE (age = ? AND sex <> ?)
其中,参数为 30(Integer), 男(String)