mybatis用foreach插入多条会报错,一条就没事,说是有格式错误

这个是xml文件:
图片描述

下面的报错:

### Error updating database.  Cause: java.sql.SQLException: sql injection violation, syntax error: TODO : COMMA values : insert into BIA_HGU_INFO (HGU_ID, AREA_CODE, BIND_CODE, 
      SN, HGU_MAC, PRODUCT_CLASS, 
      HGU_VENDOR, SOFTWARE_VERSION, WIFI_FLAG, 
      PPPOE_USER, VOIP_USER, REMARK, 
      DEV_TYPE)
    values 
          
        (
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?
        )
         , 
        (
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?, 
          ?
        )
         
        ;
阅读 5.9k
3 个回答
<insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys="false">
        INSERT INTO BIA_HGU_INFO (HGU_ID, AREA_CODE, BIND_CODE,
        SN, HGU_MAC, PRODUCT_CLASS, HGU_VENDOR, SOFTWARE_VERSION, WIFI_FLAG,
        PPPOE_USER, VOIP_USER, REMARK,
        DEV_TYPE)
        <foreach collection="hguInfolist" item="hguInfo" index="index" separator="union all">
            (SELECT
            #{hguInfo.hguId, jdbcType=VARCHAR},
            #{hguInfo.areaCode, jdbcType=VARCHAR},
            #{hguInfo.bindCode, jdbcType=VARCHAR},
            #{hguInfo.sn, jdbcType=VARCHAR},
            #{hguInfo.hguMac, jdbcType=VARCHAR},
            #{hguInfo.productClass, jdbcType=VARCHAR},
            #{hguInfo.hguVendor, jdbcType=VARCHAR},
            #{hguInfo.softwareVersion, jdbcType=VARCHAR},
            #{hguInfo.wifiFlag, jdbcType=DECIMAL},
            #{hguInfo.pppoeUser, jdbcType=VARCHAR},
            #{hguInfo.voipUser, jdbcType=VARCHAR},
            #{hguInfo.remark, jdbcType=VARCHAR},
            #{hguInfo.devType, jdbcType=DECIMAL}
            FROM dual
            )
        </foreach>
    </insert>

values里面多个值的写法,不是sql标准功能,我知道的只有mysql支持。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题