oracle和mysql数据库的批量update在mybatis中配置不太一样:
oracle数据库:
<update id="updateBatchStatus" parameterType="java.util.List" databaseId="oracle">
<foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";">
update t_api_apply_permission set apply_status = 1
where apply_id = #{item.applyId} and api_interface_id = #{item.apiInterfaceId}
</foreach>
</update>
mysql数据库:
mysql数据库采用一下写法即可执行,但是数据库连接必须配置:&allowMultiQueries=true
例如:jdbc:mysql://192.168.1.236:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true、
<update id="updateBatchStatus" parameterType="java.util.List" databaseId="mysql">
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update t_api_apply_permission set apply_status = 1
where apply_id = #{item.applyId} and api_interface_id = #{item.apiInterfaceId}
</foreach>
</update>
区别在于open="begin" close=";end;"