mybatis批量插入oracle表(带自增量列) druid连接池报错修复

    <insert id="saveBatch" parameterType="java.util.List">
        insert into sys_slog(
        id,
        menu,
        remote_addr,
        request_uri,
        method,
        params,
        user_agent,
        exception,
        time_consuming,
        create_by,
        create_date
        )
        select
        SEQ_SYS_SLOG_ID.nextval as id, tab.menu,tab.remote_addr,tab.request_uri,tab.method,tab.params,
            tab.user_agent,tab.exception,tab.time_consuming,tab.create_by,tab.create_date
         from (
        <foreach collection="logs" item="item" index="index"
            separator="union all">
            select
            #{item.menu} as menu,
            #{item.remoteAddr} as remote_addr,
            #{item.requestUri} as request_uri,
            #{item.method} as
            method,
            #{item.params} as params,
            #{item.userAgent} as user_agent,
            #{item.exception} as exception,
            #{item.timeConsuming} as
            time_consuming,
            #{item.createBy} as create_by,
            #{item.createDate} as
            create_date
            from dual
        </foreach>
        ) tab
    </insert>

mybatis配置文件如上,以上代码是ok的,但是由于用了druid连接池,由于开启了防止sql注入的防火墙配置项,所以导致报错了,错误信息类似

sql injection violation, syntax error: ERROR. token : EXCEPTION, pos

查了半天,最后发现可能是druid语法校验问题,尝试把druid.filters=wall,stat配置项中的wall配置项去交就可以了,不过这样相当于放弃了防止sql注入配置项目。不知道有没有其他更好的解决方案。

转载于:https://my.oschina.net/socoolfj/blog/831872

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值