Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用SqlParameterSource插入记录_Java_Spring - Fatal编程技术网

Java 使用SqlParameterSource插入记录

Java 使用SqlParameterSource插入记录,java,spring,Java,Spring,我试图使用SqlParameterSource插入一条记录,当我执行下面的行时,它显示数组越界异常: this.getNamedParameterJdbcTemplate().update(query, source,key,new String[]{"column"}); 但当我使用以下代码时: this.getNamedParameterJdbcTemplate().update(query, source,key,new String[]{"column"}); this.getNam

我试图使用SqlParameterSource插入一条记录,当我执行下面的行时,它显示
数组越界异常

this.getNamedParameterJdbcTemplate().update(query, source,key,new String[]{"column"});
但当我使用以下代码时:

this.getNamedParameterJdbcTemplate().update(query, source,key,new String[]{"column"});
this.getNamedParameterJdbcTemplate().update(查询,源)

this.getNamedParameterJdbcTemplate().update(query, source,key,new String[]{"column"});
我没有得到例外。还有其他人面临过这样的问题吗

this.getNamedParameterJdbcTemplate().update(query, source,key,new String[]{"column"});
DEBUG 1685 DEBUG c.h.p.m.d.i.InsertCurrentDAOImpl - Starting insert method
ERROR 8550 ERROR c.h.p.m.d.i.InsertCurrentDAOImpl - 8
java.lang.ArrayIndexOutOfBoundsException: 8
    at oracle.jdbc.driver.OracleSql.computeBasicInfo(OracleSql.java:950) ~[ojdbc6.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.OracleSql.getSqlKind(OracleSql.java:623) ~[ojdbc6.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:1212) ~[ojdbc6.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.T4CPreparedStatement.<init>(T4CPreparedStatement.java:28) ~[ojdbc6.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.T4CDriverExtension.allocatePreparedStatement(T4CDriverExtension.java:68) ~[ojdbc6.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3140) ~[ojdbc6.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3042) ~[ojdbc6.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:6022) ~[ojdbc6.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
    at org.springframework.jdbc.core.PreparedStatementCreatorFactory$PreparedStatementCreatorImpl.createPreparedStatement(PreparedStatementCreatorFactory.java:232) ~[org.springframework.jdbc-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:580) ~[org.springframework.jdbc-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:842) ~[org.springframework.jdbc-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:287) ~[org.springframework.jdbc-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at com.persistence.material.dao.impl.InsertCurrentDAOImpl.insertInventoryCurrent(InsertCurrentDAOImpl.java:50) ~[bin/:na]
    at com.persistence.material.dao.impl.InsertCurrentDAOImplTest.insertMaterialInventoryCurrentTest(InsertCurrentDAOImplTest.java:61) [bin/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_13]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_13]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_13]
    at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_13]
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84) [testng.jar:6.8.1-201303300836]
    at org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:200) [testng.jar:6.8.1-201303300836]
    at org.springframework.test.context.testng.AbstractTestNGSpringContextTests.run(AbstractTestNGSpringContextTests.java:158) [spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_13]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_13]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_13]
    at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_13]
    at org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:212) [testng.jar:6.8.1-201303300836]
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:707) [testng.jar:6.8.1-201303300836]
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901) [testng.jar:6.8.1-201303300836]
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231) [testng.jar:6.8.1-201303300836]
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) [testng.jar:6.8.1-201303300836]
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) [testng.jar:6.8.1-201303300836]
    at org.testng.TestRunner.privateRun(TestRunner.java:767) [testng.jar:6.8.1-201303300836]
    at org.testng.TestRunner.run(TestRunner.java:617) [testng.jar:6.8.1-201303300836]
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) [testng.jar:6.8.1-201303300836]
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) [testng.jar:6.8.1-201303300836]
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) [testng.jar:6.8.1-201303300836]
    at org.testng.SuiteRunner.run(SuiteRunner.java:240) [testng.jar:6.8.1-201303300836]
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) [testng.jar:6.8.1-201303300836]
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) [testng.jar:6.8.1-201303300836]
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224) [testng.jar:6.8.1-201303300836]
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1149) [testng.jar:6.8.1-201303300836]
    at org.testng.TestNG.run(TestNG.java:1057) [testng.jar:6.8.1-201303300836]
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111) [testng.jar:6.8.1-201303300836]
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204) [testng.jar:6.8.1-201303300836]
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175) [testng.jar:6.8.1-201303300836]
com.exception.PersistenceException: java.lang.ArrayIndexOutOfBoundsException: 8
    at com.persistence.material.dao.impl.InsertCurrentDAOImpl.insertInventoryCurrent(InsertCurrentDAOImpl.java:54)
    at com.persistence.material.dao.impl.InsertCurrentDAOImplTest.insertMaterialInventoryCurrentTest(InsertCurrentDAOImplTest.java:61)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
    at org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:200)
    at org.springframework.test.context.testng.AbstractTestNGSpringContextTests.run(AbstractTestNGSpringContextTests.java:158)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:212)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:707)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
    at org.testng.TestRunner.privateRun(TestRunner.java:767)
    at org.testng.TestRunner.run(TestRunner.java:617)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
    at org.testng.SuiteRunner.run(SuiteRunner.java:240)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
    at org.testng.TestNG.run(TestNG.java:1057)
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 8
    at oracle.jdbc.driver.OracleSql.computeBasicInfo(OracleSql.java:950)
    at oracle.jdbc.driver.OracleSql.getSqlKind(OracleSql.java:623)
    at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:1212)
    at oracle.jdbc.driver.T4CPreparedStatement.<init>(T4CPreparedStatement.java:28)
    at oracle.jdbc.driver.T4CDriverExtension.allocatePreparedStatement(T4CDriverExtension.java:68)
    at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3140)
    at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3042)
    at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:6022)
    at org.springframework.jdbc.core.PreparedStatementCreatorFactory$PreparedStatementCreatorImpl.createPreparedStatement(PreparedStatementCreatorFactory.java:232)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:580)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:842)
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:287)
    at com.persistence.material.dao.impl.InsertCurrentDAOImpl.insertInventoryCurrent(InsertCurrentDAOImpl.java:50)
    ... 32 more
DEBUG 1685 DEBUG c.h.p.m.d.i.InsertCurrentDAOImpl-启动插入方法
错误8550错误c.h.p.m.d.i.InsertCurrentDAOImpl-8
java.lang.ArrayIndexOutofBounds异常:8
在oracle.jdbc.driver.OracleSql.computeBasicInfo(OracleSql.java:950)~[ojdbc6.jar:oraclejdbc驱动程序版本-“11.1.0.7.0-Production”]
在oracle.jdbc.driver.OracleSql.getSqlKind(OracleSql.java:623)~[ojdbc6.jar:oraclejdbc驱动程序版本-“11.1.0.7.0-Production”]
在oracle.jdbc.driver.OraclePreparedStatement.(OraclePreparedStatement.java:1212)~[ojdbc6.jar:OracleJDBC驱动程序版本-“11.1.0.7.0-Production”]
在oracle.jdbc.driver.T4CPreparedStatement.(T4CPreparedStatement.java:28)~[ojdbc6.jar:oracle jdbc驱动程序版本-“11.1.0.7.0-Production”]
在oracle.jdbc.driver.T4CDriverExtension.allocatePreparedStatement(T4CDriverExtension.java:68)~[ojdbc6.jar:oracle jdbc驱动程序版本-“11.1.0.7.0-Production”]
在oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3140)~[ojdbc6.jar:oracle jdbc驱动程序版本-“11.1.0.7.0-Production”]
在oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3042)~[ojdbc6.jar:oracle jdbc驱动程序版本-“11.1.0.7.0-Production”]
在oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:6022)~[ojdbc6.jar:oracle jdbc驱动程序版本-“11.1.0.7.0-Production”]
在org.springframework.jdbc.core.PreparedStatementCreatorFactory$PreparedStatementCreatorImpl.createPreparedStatement(PreparedStatementCreatorFactory.java:232)~[org.springframework.jdbc-3.0.5.RELEASE.jar:3.0.5.RELEASE]
在org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:580)~[org.springframework.jdbc-3.0.5.RELEASE.jar:3.0.5.RELEASE]
在org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:842)~[org.springframework.jdbc-3.0.5.RELEASE.jar:3.0.5.RELEASE]
在org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:287)~[org.springframework.jdbc-3.0.5.RELEASE.jar:3.0.5.RELEASE]
在com.persistence.material.dao.impl.InsertCurrentDAOImpl.insertInventoryCurrent(InsertCurrentDAOImpl.java:50)~[bin/:na]
在com.persistence.material.dao.impl.InsertCurrentDaoImpltTest.insertMaterialInventoryCurrentTest(InsertCurrentDaoImpltTest.java:61)[bin/:na]
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[na:1.6.0_13]
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)~[na:1.6.013]
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)~[na:1.6.013]
在java.lang.reflect.Method.invoke(Method.java:597)~[na:1.6.0_13]
在org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)[testng.jar:6.8.1-201303300836]
在org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:200)[testng.jar:6.8.1-201303300836]
在org.springframework.test.context.testng.AbstractTestNGSpringContextTests.run(AbstractTestNGSpringContextTests.java:158)[spring-test-3.0.5.RELEASE.jar:3.0.5.RELEASE]
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[na:1.6.0_13]
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)~[na:1.6.013]
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)~[na:1.6.013]
在java.lang.reflect.Method.invoke(Method.java:597)~[na:1.6.0_13]
位于org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:212)[testng.jar:6.8.1-201303300836]
在org.testng.internal.Invoker.invokeMethod(Invoker.java:707)[testng.jar:6.8.1-201303300836]
在org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)[testng.jar:6.8.1-201303300836]
在org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)[testng.jar:6.8.1-201303300836]
在org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)[testng.jar:6.8.1-201303300836]
运行(TestMethodWorker.java:111)[testng.jar:6.8.1-201303300836]
在org.testng.TestRunner.privateRun(TestRunner.java:767)[testng.jar:6.8.1-201303300836]
在org.testng.TestRunner.run(TestRunner.java:617)[testng.jar:6.8.1-201303300836]
在org.testng.SuiteRunner.runTest(SuiteRunner.java:334)[testng.jar:6.8.1-201303300836]
在org.testng.SuiteRunner.runsequential(SuiteRunner.java:329)[testng.jar:6.8.1-201303300836]
在org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)[testng.jar:6.8.1-201303300836]
运行(SuiteRunner.java:240)[testng.jar:6.8.1-201303300836]
在org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)[testng.jar:6.8.1-201303300836]
在org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)[testng.jar:6.8.1-201303300836]
在org.testng.testng.runSuitesSequentially(testng.java:1224)[testng.jar:6.8.1-201303300836]
在org.testng.testng.runSuitesLocally(testng.java:1149)[testng.jar:6.8.1-201303300836]
在org.testng.testng.run(testng.java:1057)[testng.jar:6.8.1-201303300836]
在org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)[testng.jar:6.8.1-201303300836]
在org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)[testng.jar:6.8.1-201303300836]
位于org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)[testng.jar:6.8.1-201303300836]
com.exception.PersistenceException:java.lang.ArrayIndexOutOfBoundsException:8
在