mybatis字符串数组条件搜索
时间: 2023-11-11 21:07:55 浏览: 130
Mybatis3 if判断字符串变态写法
在 MyBatis 中,可以使用 `foreach` 标签来实现字符串数组条件搜索。
假设现在有一个 User 实体类,其中有一个属性为 `name`,我们需要根据多个名字进行搜索,可以按照以下步骤进行操作:
1. 在 Mapper.xml 文件中,编写 SQL 语句,使用 `foreach` 标签来遍历字符串数组:
```xml
<select id="searchUsers" resultType="User">
SELECT * FROM user WHERE name IN
<foreach item="name" collection="names" open="(" separator="," close=")">
#{name}
</foreach>
</select>
```
其中,`names` 为字符串数组参数,`open`、`separator`、`close` 分别表示拼接 SQL 语句时,数组元素的前缀、分隔符和后缀。
2. 在 Mapper 接口中定义方法,传入字符串数组参数:
```java
List<User> searchUsers(String[] names);
```
3. 在 Service 层调用 Mapper 方法,传入字符串数组参数:
```java
String[] names = {"Tom", "Jerry", "Alice"};
List<User> userList = userMapper.searchUsers(names);
```
这样就可以根据多个名字进行搜索了。
阅读全文