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注入配置项目。不知道有没有其他更好的解决方案。

目录
相关文章
|
10月前
|
SQL Java 数据库连接
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
|
10月前
|
SQL Java 数据库连接
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
|
Oracle 关系型数据库 Java
mybatis使用statement.getGenreatedKeys(); useGeneratedKeys=”true”;使用自增主键获取主键值策略和Oracle不支持自增,Oracle使用序列
mybatis使用statement.getGenreatedKeys(); useGeneratedKeys=”true”;使用自增主键获取主键值策略和Oracle不支持自增,Oracle使用序列
247 9
|
Oracle 关系型数据库 数据库
关系型数据库Oracle增量备份
【7月更文挑战第18天】
330 2
|
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]
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在online模式下增量抓取Oracle数据时,在archive_log切换时,出现数据丢失的情况,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
若依修改,集成mybatisplus报错,若依集成mybatisplus,总是找不到映射是怎么回事只要是用mp的方法就找报,改成mybatisPlus配置一定要改
若依修改,集成mybatisplus报错,若依集成mybatisplus,总是找不到映射是怎么回事只要是用mp的方法就找报,改成mybatisPlus配置一定要改
|
SQL DataWorks Oracle
DataWorks产品使用合集之datax解析oracle增量log日志该如何操作
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
190 0
|
7月前
|
Java 数据库连接 数据库
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
1308 1
Spring boot 使用mybatis generator 自动生成代码插件
|
10月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
823 0