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

简介: druid mybatis 批量处理
<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注入配置项目。不知道有没有其他更好的解决方案。

目录
相关文章
|
9月前
|
SQL
解决一个mybatisplus left join里有ur报错问题
解决一个mybatisplus left join里有ur报错问题
98 0
|
9月前
|
SQL druid Java
java mysql druid mybatis-plus里使用多表删除出错的一种处理方式
java mysql druid mybatis-plus里使用多表删除出错的一种处理方式
133 0
|
9月前
|
SQL 安全 BI
基于jeecg-boot的nbcio-boot因升级mybatis-plus到3.5.3.1和JSQLParser 到4.6而引起的在线报表配置报错处理
基于jeecg-boot的nbcio-boot因升级mybatis-plus到3.5.3.1和JSQLParser 到4.6而引起的在线报表配置报错处理
221 0
|
7月前
|
Oracle 关系型数据库 Java
mybatis使用statement.getGenreatedKeys(); useGeneratedKeys=”true”;使用自增主键获取主键值策略和Oracle不支持自增,Oracle使用序列
mybatis使用statement.getGenreatedKeys(); useGeneratedKeys=”true”;使用自增主键获取主键值策略和Oracle不支持自增,Oracle使用序列
|
6月前
|
druid Java 数据库连接
SpringBoot项目整合MybatisPlus持久层框架+Druid数据库连接池,以及实现增删改查功能
SpringBoot项目整合MybatisPlus和Druid数据库连接池,实现基本的增删改查功能。
476 0
|
8月前
|
Java 数据库连接 mybatis
mybatis参数报错Parameter ‘docId‘ not found. Available parameters are [arg1, arg0, param1, param2]
mybatis参数报错Parameter ‘docId‘ not found. Available parameters are [arg1, arg0, param1, param2]
若依修改,集成mybatisplus报错,若依集成mybatisplus,总是找不到映射是怎么回事只要是用mp的方法就找报,改成mybatisPlus配置一定要改
若依修改,集成mybatisplus报错,若依集成mybatisplus,总是找不到映射是怎么回事只要是用mp的方法就找报,改成mybatisPlus配置一定要改
|
8月前
|
XML Java 数据库连接
浅谈后端boot框架整合第三方技术JUnit MyBatis Druid整体思想
浅谈后端boot框架整合第三方技术JUnit MyBatis Druid整体思想
44 0
|
9月前
|
Java 数据库连接 数据库
mybatis-plus报错:Can not find table primary key in Class
mybatis-plus报错:Can not find table primary key in Class
1708 1
|
9月前
mybatis-plus使用oceanbase-oracle模式
mybatis-plus使用oceanbase-oracle模式
580 2

推荐镜像

更多