syntax error, expect ')' 数据库报错批量插入

直接上代码,mapper根本没什么问题(插入没有id数据库自增id字段剔除)

   <insert id="insertList" parameterType="java.util.List">
       insert into is_file_operation_log (file_id, operator_id,
          operation_type, operation_time, file_name)
       values
        <foreach collection="list" item="item" index="index" 
             separator="," >
             (#{item.fileId,jdbcType=INTEGER},
          #{item.operatorId,jdbcType=INTEGER},
          #{item.operationType,jdbcType=INTEGER},
          #{item.operationTime,jdbcType=TIMESTAMP},
          #{item.fileName,jdbcType=VARCHAR})
         </foreach> 
      </insert>

map接口

int insertList(@Param("list") List<FileOperationLog> list);

原ServiceImpl调用map接口

fileOperationLogMapper.insertList(loglist);

就会报错syntax error, expect ‘)’
查询发现是如果list为空就会出错,修改添加判断

更改ServiceImpl

    if (!loglist.isEmpty()){
    			fileOperationLogMapper.insertList(loglist);
}

调用后成功!!

猜你喜欢

转载自blog.csdn.net/qq_39275746/article/details/86490546