mybatis 循环 union
时间: 2023-08-16 17:08:25 浏览: 58
在MyBatis中,可以使用foreach方法或in关键字来实现循环union操作。使用foreach方法时,可以将需要循环的数据放入一个集合中,然后在SQL语句中使用foreach标签进行遍历。例如,可以使用以下代码实现循环union操作:
```xml
SELECT plan_id FROM push_plan WHERE 1=0
UNION DISTINCT
<if test="tags != null">
<foreach item="item" index="index" collection="tags" open="SELECT plan_id FROM push_plan WHERE tag LIKE CONCAT('%',#{item},'%') UNION DISTINCT" separator=" UNION DISTINCT" close=""></foreach>
</if>
SELECT plan_id FROM push_plan WHERE 1=0
```
这段代码首先查询一个空的结果集,然后使用foreach标签循环遍历tags集合,在每次循环中拼接一个union查询语句。最后,再查询一个空的结果集,以保证语法的正确性。这样就可以实现循环union操作。\[1\]\[2\]
#### 引用[.reference_title]
- *1* *2* [Mybatis循环处理 like](https://blog.csdn.net/m0_67401153/article/details/126465811)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]