mybatis xml 判断list
时间: 2023-11-28 18:04:46 浏览: 120
在 MyBatis 的 XML 中,可以使用 `<foreach>` 标签来进行 List 判断。
例如,假设有如下实体类:
```java
public class User {
private Long id;
private String username;
private Integer age;
// 省略 getter 和 setter
}
```
如果需要查询多个用户,可以传入一个 List<User>,其中包含多个 User 对象,每个 User 对象都有一个 username 属性。可以使用以下方式进行查询:
```xml
<select id="getUserList" resultType="User">
SELECT * FROM user WHERE username IN
<foreach collection="userList" item="user" open="(" separator="," close=")">
#{user.username}
</foreach>
</select>
```
其中,`<foreach>` 标签中的 `collection` 属性指定了要遍历的 List 对象,`item` 属性指定了当前遍历到的对象的别名,`open` 属性指定了在整个表达式开头添加的字符,`separator` 属性指定了在每个元素之间添加的字符,`close` 属性指定了在整个表达式结尾添加的字符。
上面的 SQL 语句将会生成如下的 SQL 代码:
```sql
SELECT * FROM user WHERE username IN ('user1', 'user2', 'user3')
```
其中,`userList` 中包含了三个 User 对象,分别具有 username 属性为 "user1"、"user2" 和 "user3"。
阅读全文