【问题标题】:No value supplied for the SQL parameter 'orgName': This SqlParameterSource is empty没有为 SQL 参数“orgName”提供值:此 SqlParameterSource 为空
【发布时间】:2020-08-07 23:29:14
【问题描述】:

org.springframework.dao.InvalidDataAccessApiUsageException:没有为 SQL 参数“orgName”提供值:此 SqlParameterSource 为空 在 org.springframework.jdbc.core.namedparam.NamedParameterUtils.buildValueArray(NamedParameterUtils.java:355) 在 org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.getPreparedStatementCreator(NamedParameterJdbcTemplate.java:417) 在 org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.getPreparedStatementCreator(NamedParameterJdbcTemplate.java:391) 在 org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:215) 在 org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:227) 在 com.suppression.batch.dao.SuppressionListDaoImpl.getAllSuppressionList(SuppressionListDaoImpl.java:141) 在 com.suppression.batch.dao.SuppressionListDaoImpl$$FastClassBySpringCGLIB$$b7b390f9.invoke() 在 org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) 在 org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) 在 org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) 在 org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) 在 com.suppression.batch.dao.SuppressionListDaoImpl$$EnhancerBySpringCGLIB$$c0a805c7.getAllSuppressionList() 在 com.suppression.batch.app.SuppressionListItemReader.read(SuppressionListItemReader.java:55) 在 com.suppression.batch.app.SuppressionListItemReader.read(SuppressionListItemReader.java:1) 在 org.springframework.batch.core.step.item.SimpleChunkProvider.doRead(SimpleChunkProvider.java:94) 在 org.springframework.batch.core.step.item.SimpleChunkProvider.read(SimpleChunkProvider.java:161) 在 org.springframework.batch.core.step.item.SimpleChunkProvider$1.doInIteration(SimpleChunkProvider.java:119) 在 org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375) 在 org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) 在 org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145) 在 org.springframework.batch.core.step.item.SimpleChunkProvider.provide(SimpleChunkProvider.java:113) 在 org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:69) 在 org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:407) 在 org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331) 在 org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) 在 org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273) 在 org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82) 在 org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375) 在 org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) 在 org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145) 在 org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:258) 在 org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:203) 在 org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:148) 在 org.springframework.batch.core.job.AbstractJob.handleStep(AbstractJob.java:399) 在 org.springframework.batch.core.job.SimpleJob.doExecute(SimpleJob.java:135) 在 org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:313) 在 org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:144) 在 org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50) 在 org.springframework.batch.core.launch.support.SimpleJobLauncher.run(SimpleJobLauncher.java:137) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) 在 org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$PassthruAdvice.invoke(SimpleBatchConfiguration.java:127) 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) 在 org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) 在 com.sun.proxy.$Proxy42.run(未知来源) 在 org.springframework.boot.autoconfigure.batch.JobLauncherCommandLineRunner.execute(JobLauncherCommandLineRunner.java:214) 在 org.springframework.boot.autoconfigure.batch.JobLauncherCommandLineRunner.executeLocalJobs(JobLauncherCommandLineRunner.java:186) 在 org.springframework.boot.autoconfigure.batch.JobLauncherCommandLineRunner.launchJobFromProperties(JobLauncherCommandLineRunner.java:172) 在 org.springframework.boot.autoconfigure.batch.JobLauncherCommandLineRunner.run(JobLauncherCommandLineRunner.java:166) 在 org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:813) 在 org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:797) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:324) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1260) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)enter image description here

【问题讨论】:

  • 请简要描述问题是什么以及到目前为止您尝试了什么。您当前的描述对确定问题没有多大帮助。
  • 请描述您的问题以及您是如何面对的

标签: java spring spring-batch mysql-workbench dao


【解决方案1】:

得到答案....

映射 paramMap = new HashMap(); paramMap.put("orgName", orgName);

        suppressedCampaignList = namedParameterJdbcTemplate.query(sql, **paramMap**, new RowMapper<SuppressionListData>() {}

需要在 namedParameterJdbcTemplate.QUERY() 中传递 MAP 变量...

【讨论】:

    猜你喜欢
    • 2020-01-07
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2020-01-09
    相关资源
    最近更新 更多