mybatis-plus in("name", "张三", "age", 12)
时间: 2023-07-06 07:40:55 浏览: 192
`in` 方法可以用于多字段的 `IN` 查询,但是需要将字段名和对应的值放在一起作为参数传递。例如,假设有一个实体类 `User`,其中包含 `name` 和 `age` 两个字段,我们想要查询姓名为 "张三",年龄为 12 的用户,可以使用如下代码:
```java
List<User> userList = userMapper.selectList(new QueryWrapper<User>()
.in("name", "张三")
.in("age", 12)
);
```
其中,`in` 方法的第一个参数为字段名,后面跟上需要查询的值。如果需要查询多个字段,可以多次调用 `in` 方法即可。需要注意的是,`in` 方法中的参数值不能为 null,否则会抛出空指针异常。
相关问题
mybatis-plus 多字段in
Mybatis-Plus 提供了一个方便的方法 `in`,可以用于多字段的 `in` 查询。例如,假设有一个实体类 `User`,其中包含 `name` 和 `age` 两个字段,我们想要查询姓名为 "张三" 或 "李四",年龄为 18 或 20 的用户,可以使用如下代码:
```java
List<User> userList = userMapper.selectList(new QueryWrapper<User>()
.in("name", "张三", "李四")
.in("age", 18, 20)
);
```
其中,`in` 方法的第一个参数为字段名,后面跟上需要查询的多个值。如果需要查询多个字段,可以多次调用 `in` 方法即可。需要注意的是,`in` 方法中的参数值不能为 null,否则会抛出空指针异常。
mybatis-plus 多字段inlist
如果需要使用 Mybatis-Plus 进行多字段的 `IN` 查询,可以使用 `QueryWrapper` 的 `inSql` 方法。例如,假设有一个实体类 `User`,其中包含 `name` 和 `age` 两个字段,我们想要查询姓名为 "张三" 或 "李四",年龄为 18 或 20 的用户,可以使用如下代码:
```java
List<User> userList = userMapper.selectList(new QueryWrapper<User>()
.inSql("name", "select name from user where name in ('张三', '李四')")
.inSql("age", "select age from user where age in (18, 20)")
);
```
其中,`inSql` 方法的第一个参数为字段名,第二个参数为 SQL 子查询语句,子查询语句中可以使用 `IN` 来查询多个值。需要注意的是,`inSql` 方法中的 SQL 语句必须使用括号将多个值括起来,并且括号内的值必须使用单引号括起来。另外,子查询语句中的表名必须与实体类对应的表名一致。
阅读全文