对于 Mybatis 中 foreach的用法,有太多人都写过了,也不想在赘述,只是自己遇到的问题,确实是自己才能找到解决的办法。 如下:
select * from table where class_status in <foreach collection="list" item="item" open="(" separator="," close=")"> #{item} </foreach>
上面的语句,在绝大多数时候,是没什么问题的。但是当 class_status 字段类型为 enum时,则会出错,提示无法插入字符型 value。
具体原因,不必追究,仅需要将 #{item} 改为'${item}'即可。