QueryWrapper eq 判空
时间: 2023-12-12 09:34:47 浏览: 61
根据提供的引用内容,QueryWrapper的eq方法可以用于判断字段是否为空。具体实现方式如下所示:
```java
QueryWrapper<User> qw = new QueryWrapper<>();
User user = new User();
qw.eq(user.getName() != null, "name", user.getName());
List<User> userList = userDao.selectList(qw);
System.out.println(userList);
```
在上述代码中,eq方法的第一个参数为判断条件,如果user.getName()不为空,则返回true,否则返回false。第二个参数为字段名,第三个参数为字段值。这样就可以实现判断字段是否为空的功能。
相关问题
QueryWrapper eq底层sql
QueryWrapper是MyBatis-Plus提供的一个查询构造器,可以方便地进行条件查询。eq是其中的一个方法,用于添加等于条件。其底层生成的SQL语句类似于:`column = value`。
例如,以下代码使用QueryWrapper构造了一个等于条件查询:
```
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name", "张三");
List<User> userList = userMapper.selectList(wrapper);
```
生成的SQL语句为:
```
SELECT * FROM user WHERE name = '张三'
```
queryWrapper.eq用法
queryWrapper.eq()是 MyBatis-Plus(MP)中的一个方法,用于构建查询条件的等值判断。
它的基本用法是:queryWrapper.eq(column, value),其中column为数据库表中的字段名,value为要匹配的值。
示例代码如下:
``` java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "John");
List<User> userList = userMapper.selectList(queryWrapper);
```
上述代码意思是查询名字为"John"的用户记录。实际执行的SQL语句大致如下:
``` sql
SELECT * FROM user WHERE name = 'John'
```
eq()方法还支持链式调用,可以构建多个等值条件:
``` java
queryWrapper.eq("name", "John")
.eq("age", 30);
```
上述代码意思是查询名字为"John"且年龄为30的用户记录。实际执行的SQL语句大致如下:
``` sql
SELECT * FROM user WHERE name = 'John' AND age = 30
```
eq()方法还可以传入一个枚举类型的列,方便进行类型安全的查询:
``` java
queryWrapper.eq(User::getName, "John");
```
上述代码与第一个示例代码的效果相同。
总之,eq()方法是用于构建等值条件查询的,可以根据需要设置多个等值条件,并支持链式调用,提供了便捷的查询方式。