帮我写一个mapper.xml语句,根据recordNo记录单号向erp_warehouses_slor表的merge_record_no字段插入JSON数组信息,Dao层的接口为boolean insertMergeRecordNo(@Param("recordNo")String recordNo,@Param("mergeRecordNo")List<String> mergeRecordNo);
时间: 2024-02-19 12:04:00 浏览: 110
Boot.rar_mybatis_mybatis springboot_springboot_springboot mapper
好的,以下是mapper.xml语句:
```xml
<update id="insertMergeRecordNo" parameterType="map">
UPDATE erp_warehouses_slor
SET merge_record_no = JSON_ARRAY_APPEND(
IFNULL(merge_record_no, JSON_ARRAY()), '$',
<foreach collection="mergeRecordNo" item="item" separator=",">#{item}</foreach>
)
WHERE record_no = #{recordNo}
</update>
```
这个语句使用了MySQL 5.7及以上版本的JSON_ARRAY_APPEND函数,将传入的mergeRecordNo列表中的每个元素添加到merge_record_no字段所对应的JSON数组中。如果merge_record_no字段为NULL,则先将其初始化为一个空JSON数组。
注意,由于mergeRecordNo参数是一个List类型,需要使用MyBatis的foreach标签将其转化为逗号分隔的字符串。这里使用了默认的item作为迭代变量,可以根据实际情况修改。同时,这个语句的返回值类型为boolean,可以根据需要进行修改。
阅读全文