Mybatis 在XML中遍历 List
时间: 2024-05-14 18:12:23 浏览: 99
在 Mybatis 的 XML 文件中遍历 List 可以使用 foreach 标签,其用法如下:
```xml
<foreach collection="list" item="item" separator=",">
#{item}
</foreach>
```
其中,collection 属性指定要遍历的 List,item 属性指定每个元素的别名,separator 属性指定分隔符。
例如,假设有一个 User 对象,其中有一个 List<String> 属性 hobbies,可以在查询语句中使用 foreach 标签遍历 hobbies,示例代码如下:
```xml
<select id="getUserHobbies" parameterType="int" resultType="java.util.List">
SELECT hobbies FROM user WHERE id=#{id}
</select>
```
```xml
<resultMap id="userMap" type="User">
<id property="id" column="id"/>
<result property="name" column="name"/>
<collection property="hobbies" ofType="String">
<result column="hobbies"/>
</collection>
</resultMap>
```
```java
public interface UserMapper {
List<String> getUserHobbies(int id);
}
```
```java
List<String> hobbies = userMapper.getUserHobbies(1);
for (String hobby : hobbies) {
System.out.println(hobby);
}
```
以上示例中,resultMap 中使用了 collection 标签来映射 hobbies 属性,Java 类型为 List<String>,在查询语句中使用 foreach 标签遍历 hobbies。在 Java 代码中调用 getUserHobbies 方法会返回一个 List<String>,可以使用 for 循环遍历输出每个爱好。
阅读全文