注意:本教程使用的数据库脚本、数据模型和环境信息请参考 “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)