注册

for循环批量插入数据,会报java.lang.NullPointerException

葫芦大娃 2024/06/27 455 1

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:linux
【CPU】:
【问题描述】*:
java springboot mybatis
for(){
//......
//调用service批量保存
bizSignRecordService.saveBatch(list);
//.....
}

public Boolean saveBatch(List<BizSignRecordDO> list) {
//直接调用mapper的批量保存方法
return bizSignRecordMapper.insertBatch(list);
}

多次批量保存,个别批次会报java.lang.NullPointerException
异常显示dm.jdbc中的问题,应该怎么更改数据库配置么?

java.lang.NullPointerException: null
at dm.jdbc.filter.reconnect.ReconnectFilter.whenErrorInner(SourceFile:169)
at dm.jdbc.filter.reconnect.ReconnectFilter.whenError(SourceFile:127)
at dm.jdbc.filter.reconnect.ReconnectFilter.Statement_close(SourceFile:9464)
at dm.jdbc.filter.FilterChain.Statement_close(SourceFile:8771)
at dm.jdbc.driver.DmdbStatement.close(SourceFile:1131)
at com.alibaba.druid.filter.FilterChainImpl.statement_close(FilterChainImpl.java:2906)
at com.alibaba.druid.filter.stat.StatFilter.statement_close(StatFilter.java:345)
at com.alibaba.druid.filter.FilterChainImpl.statement_close(FilterChainImpl.java:2903)
at com.alibaba.druid.proxy.jdbc.StatementProxyImpl.close(StatementProxyImpl.java:130)
at com.alibaba.druid.pool.DruidPooledStatement.close(DruidPooledStatement.java:507)
at com.alibaba.druid.pool.DruidPooledPreparedStatement.closeInternal(DruidPooledPreparedStatement.java:195)
at com.alibaba.druid.pool.DruidPooledConnection.closePoolableStatement(DruidPooledConnection.java:192)
at com.alibaba.druid.pool.DruidPooledPreparedStatement.close(DruidPooledPreparedStatement.java:187)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:78)
at com.sun.proxy.$Proxy327.close(Unknown Source)
at org.apache.ibatis.executor.BaseExecutor.closeStatement(BaseExecutor.java:289)
at org.apache.ibatis.executor.BatchExecutor.doFlushStatements(BatchExecutor.java:155)
at org.apache.ibatis.executor.BaseExecutor.flushStatements(BaseExecutor.java:129)
at org.apache.ibatis.executor.BaseExecutor.rollback(BaseExecutor.java:259)
at org.apache.ibatis.executor.BaseExecutor.close(BaseExecutor.java:87)
at org.apache.ibatis.executor.CachingExecutor.close(CachingExecutor.java:64)
at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
at com.sun.proxy.$Proxy324.close(Unknown Source)
at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
at com.sun.proxy.$Proxy324.close(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.close(DefaultSqlSession.java:263)
at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.executeBatch(SqlHelper.java:209)
at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.executeBatch(SqlHelper.java:233)
at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.executeBatch(SqlHelper.java:228)
at com.baomidou.mybatisplus.extension.toolkit.Db.saveBatch(Db.java:89)
at com.baomidou.mybatisplus.extension.toolkit.Db.saveBatch(Db.java:73)
at com.emptech.report.framework.mybatis.core.mapper.BaseMapperX.insertBatch(BaseMapperX.java:154)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$DefaultMethodInvoker.invoke(MybatisMapperProxy.java:166)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
at com.sun.proxy.$Proxy279.insertBatch(Unknown Source)
at com.emptech.report.module.report.service.chn.report.impl.BizSignRecordServiceImpl.saveBatch(BizSignRecordServiceImpl.java:116)
at com.emptech.report.module.report.service.chn.report.impl.BizSignRecordServiceImpl$$FastClassBySpringCGLIB$$8611afbb.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
at com.emptech.report.module.report.service.chn.report.impl.BizSignRecordServiceImpl$$EnhancerBySpringCGLIB$$1b39079b.saveBatch(<generated>)
at com.emptech.report.module.report.job.efficiency.ChnReportStatisticJob.saveDataToTable(ChnReportStatisticJob.java:243)
at com.emptech.report.module.report.job.efficiency.ChnReportStatisticJob.syncHadAuditDataToTable(ChnReportStatisticJob.java:216)
at com.emptech.report.module.report.job.efficiency.ChnReportStatisticJob.sync(ChnReportStatisticJob.java:185)
at com.emptech.report.module.report.job.efficiency.ChnReportStatisticJob.syncInit(ChnReportStatisticJob.java:164)
at com.emptech.report.module.report.job.efficiency.ChnReportStatisticJob.execute(ChnReportStatisticJob.java:135)
at com.emptech.report.framework.quartz.core.handler.JobHandlerInvoker.executeInternal(JobHandlerInvoker.java:74)
at com.emptech.report.framework.quartz.core.handler.JobHandlerInvoker.executeInternal(JobHandlerInvoker.java:57)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)

回答 0
暂无回答
扫一扫
联系客服