oracle11g-关于jdbc预编译的问题

问题描述

关于jdbc预编译的问题

前面编好了insert 语句,没有问题, 但是map里面有string 有int 请问set的时候怎么写, 用object行吗, 如果我提前把数据都转成string 全都setString 行吗 运行后报错 ORA-01008 并非所有值都是绑定的, 求教

 statement = connection.createStatement();
            int batchSize = 0;
            for (int i = 0; i < list.size(); i++) {
                int size = 1;
                Map batchMap = list.get(i);
                Set<Entry> entry = batchMap.entrySet();
                for (Entry entry2 : entry) {
                    if(size < batchMap.size()){
                        preparedstatement.setObject(size, entry2.getValue());
                        size++;
                    }
                }
                statement.addBatch(sql.toString());
                if(++batchSize % DB_BATCHSIZE == 0){
                    statement.executeBatch();
                }
            }

解决方案

把map的数据都取出来,组合到对应的insert sql语句中,然后在插入数据库

解决方案二:

自己手动 拼一个sql串,然后执行数据库吧

时间: 2024-10-30 18:44:17

oracle11g-关于jdbc预编译的问题的相关文章

JDBC之PreparedStatement类中预编译的综合应用解析

SQL 语句被预编译并存储在 PreparedStatement 对象中.然后可以使用此对象多次高效地执行该语句   预编译的优点1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程. 2.使用 Statement 对象.在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理.PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处. 3.statement每次执行sql语句,相关数

JDBC之PreparedStatement类中预编译的综合应用解析_java

预编译的优点1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程. 2.使用 Statement 对象.在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理.PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处. 3.statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得,   preparedstatement支

mysql几个参数(编码,预编译,批处理)

背景  这两天在做数据同步项目的联调,测试过程中发现针对mysql的一些使用上存在一些问题,比如batch不起效果,编码问题,预编译失效等等. 这里总结一下,做一下记录,希望对遇到类似问题的有所帮助 内容 编码问题 官方文档: http://dev.mysql.com/doc/refman/4.1/en/connector-j-reference-charsets.html 网上针对mysql的中文编码问题,已经有不少文章进行介绍,大概步骤如下:   1.  设置my.cnf中, 设置defau

SQL预编译和SQL注入

再说SQL预编译: 最近用go语言时,学习了一下数据库连接的库,这里总结一下SQL预编译相关的知识.貌似网上都是建议使用预编译,我也觉得这种做法靠谱. 先谈 SQL注入: SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过让原SQL改变了语义,达到欺骗服务器执行恶意的SQL命令.其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统. 其实,反过来考虑,这也是SQL这类解释性语言本身的缺陷,安全和易用性总是相对的.类似的Sh

android应用资源预编译,编译和打包全解析

我们知道,在一个APK文件中,除了有代码文件之外,还有很多资源文件.这些资源文件是通过Android资源打包工具aapt(Android Asset Package Tool)打包到APK文件里面的.在打包之前,大部分文本格式的XML资源文件还会被编译成二进制格式的XML资源文件.在本文中,我们就详细分析XML资源文件的编译和打包过程,为后面深入了解Android系统的资源管理框架打下坚实的基础.         在前面Android资源管理框架(Asset Manager)简要介绍和学习计划一

IOS代码运行的磨刀石-预编译指令

IOS中代码运行的磨刀石--预编译指令 所谓预编译,就是程序代码在编译之前,开发工具为我们预先做的一些工作.不要小瞧这些指令,没有它们,我们的代码可能寸步难行. 一.文件包含相关预处理命令 #include <header> #include "header" C语言中使用的包含文件的指令""和<>的区别为,""是从当前目录开始寻找文件,<>是从系统库中寻找文件.这两个指令不能使头文件循环引入,也不能重复包含同

通过JSP预编译消除性能瓶颈

欢迎来到"管理角"这个版,新一期的月刊专栏专注于 WebLogic 服务器的管理.配置.处理和开发方面. 开辟这个专栏的目的是为了向大家介绍在使用WebLogic Sever时,能普遍用到的非J2EE开发方面的问题.开发者和管理者同样会发现这个专栏非常有价值,因为这些文章既适用于开发又适用于最终产品的应用.此外,它很大程度上利用了来自于该领域和工程实验室的经验,它提供了对实际问题的详细解答. JSP预编译的必要性 本文着眼于移除潜在的系统性能瓶颈,它通过解决一个最普通的问题??在服务器

jsp预编译工具

js|编译 一个可以进行jsp预编译工作的程序. 下面是read.me 以及 java 源程序.Author: Ugorji Dick-Nwoke ugorji.dick-nwoke@bea.comDate: Jan 16. 2002 ---------------------------------------------------Post Server Startup JSP File Compiler and Validator------------------------------

通过JSP的预编译消除性能瓶颈

js|编译|性能 欢迎来到"管理角"这个版,新一期的月刊专栏专注于 WebLogic 服务器的管理.配置.处理和开发方面. 开辟这个专栏的目的是为了向大家介绍在使用WebLogic Sever时,能普遍用到的非J2EE开发方面的问题.开发者和管理者同样会发现这个专栏非常有价值,因为这些文章既适用于开发又适用于最终产品的应用.此外,它很大程度上利用了来自于该领域和工程实验室的经验,它提供了对实际问题的详细解答. JSP预编译的必要性 本月的文章着眼于移除潜在的系统性能瓶颈,它通过解决一个