背景:在 MyBatis 中,使用 foreach 进行批量插入时,需要根据传入的参数值,动态的决定插入的值
数据格式:
{
"dataList": [
{
"num": 1,
"value": 2
},
{
"num": 2,
"value": 2
}
]
}
可以看到,在进行 foreach循环时,每次获取到的 item 是一个 json对象(实体类同理),那么如何在 if标签 的 test中获取值呢?
- 直接通过
对象.属性
的方式
不需要再使用 #{} 或者 ${}的形式,直接 对象.属性
代码示例:
<foreach collection="dataList" item="item" index="index">
<if test="item.num == 1"> <!-- 直接 对象.属性 的方式 -->
SQL语句
</if>
</foreach>