记一次Mybatis,字段类型不一致导致的的NullPointerException
1 00:22:57.927 [Quartz Scheduler [RuoyiScheduler]] INFO o.q.c.QuartzScheduler - [start,547] - Scheduler RuoyiScheduler_$_DESKTOP-3LB9T7O1600705371461 started. 2 00:23:57.185 [http-nio-8080-exec-2] INFO o.a.c.c.C.[.[.[/] - [log,173] - Initializing Spring DispatcherServlet 'dispatcherServlet' 3 00:23:57.456 [http-nio-8080-exec-2] ERROR c.r.f.w.e.GlobalExceptionHandler - [handleException,83] - nested exception is org.apache.ibatis.exceptions.PersistenceException: 4 ### Error querying database. Cause: java.lang.NullPointerException 5 ### Cause: java.lang.NullPointerException 6 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 7 ### Error querying database. Cause: java.lang.NullPointerException 8 ### Cause: java.lang.NullPointerException 9 at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77) 10 at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446) 11 at com.sun.proxy.$Proxy113.selectList(Unknown Source) 12 at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230) 13 at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:139) 14 at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:76) 15 at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59) 16 at com.sun.proxy.$Proxy114.selectiotList(Unknown Source) 17 at com.ruoyi.system.service.impl.iotServiceImpl.selectiotList(iotServiceImpl.java:23) 18 at com.ruoyi.web.controller.iot.iotController.list(iotController.java:44) 19 at com.ruoyi.web.controller.iot.iotController$$FastClassBySpringCGLIB$$d7f4a88a.invoke(<generated>) 20 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) 21 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:752) 22 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) 23 at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69) 24 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) 25 at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93) 26 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) 27 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691) 28 at com.ruoyi.web.controller.iot.iotController$$EnhancerBySpringCGLIB$$2417b898.list(<generated>) 29 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 30 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 31 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 32 at java.lang.reflect.Method.invoke(Method.java:498) 33 at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) 34 at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) 35 at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) 36 at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) 37 at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) 38 at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) 39 at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) 40 at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) 41 at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) 42 at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) 43 at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) 44 at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) 45 at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) 46 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 47 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 48 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 49 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 50 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 51 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113) 52 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 53 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 54 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113) 55 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 56 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 57 at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124) 58 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 59 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 60 at com.ruoyi.common.filter.RepeatableFilter.doFilter(RepeatableFilter.java:39) 61 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 62 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 63 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) 64 at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127) 65 at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) 66 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 67 at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) 68 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 69 at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) 70 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 71 at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) 72 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 73 at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) 74 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 75 at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) 76 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 77 at com.ruoyi.framework.security.filter.JwtAuthenticationTokenFilter.doFilterInternal(JwtAuthenticationTokenFilter.java:42) 78 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) 79 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 80 at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) 81 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 82 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113) 83 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 84 at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:97) 85 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) 86 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 87 at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:74) 88 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) 89 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 90 at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) 91 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 92 at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) 93 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) 94 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 95 at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) 96 at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) 97 at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) 98 at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) 99 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 100 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 101 at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) 102 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) 103 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 104 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 105 at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) 106 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) 107 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 108 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 109 at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:94) 110 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) 111 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 112 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 113 at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) 114 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) 115 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 116 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 117 at com.ruoyi.common.filter.XssFilter.doFilter(XssFilter.java:66) 118 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 119 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 120 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) 121 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) 122 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) 123 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) 124 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) 125 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) 126 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) 127 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) 128 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) 129 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) 130 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590) 131 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 132 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 133 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 134 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 135 at java.lang.Thread.run(Thread.java:748) 136 Caused by: org.apache.ibatis.exceptions.PersistenceException: 137 ### Error querying database. Cause: java.lang.NullPointerException 138 ### Cause: java.lang.NullPointerException 139 at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) 140 at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150) 141 at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141) 142 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 143 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 144 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 145 at java.lang.reflect.Method.invoke(Method.java:498) 146 at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433) 147 ... 125 common frames omitted 148 Caused by: java.lang.NullPointerException: null 149 at com.ruoyi.system.domain.Iot.getId(iot.java:70) 150 // 使用代码工具生成, 导致定义的getter setter 中 id 为 long类型 字段定义为包装类型Long ,类型不一致,导致空指针异常; 151 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 152 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 153 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 154 at java.lang.reflect.Method.invoke(Method.java:498) 155 at org.apache.ibatis.reflection.invoker.MethodInvoker.invoke(MethodInvoker.java:41) 156 at org.apache.ibatis.reflection.wrapper.BeanWrapper.getBeanProperty(BeanWrapper.java:164) 157 at org.apache.ibatis.reflection.wrapper.BeanWrapper.get(BeanWrapper.java:49) 158 at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:122) 159 at org.apache.ibatis.scripting.xmltags.DynamicContext$ContextMap.get(DynamicContext.java:94) 160 at org.apache.ibatis.scripting.xmltags.DynamicContext$ContextAccessor.getProperty(DynamicContext.java:108) 161 at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2685) 162 at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:114) 163 at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212) 164 at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258) 165 at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:50) 166 at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212) 167 at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258) 168 at org.apache.ibatis.ognl.ASTAnd.getValueBody(ASTAnd.java:61) 169 at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212) 170 at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258) 171 at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:470) 172 at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:434) 173 at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:44) 174 at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32) 175 at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:34) 176 at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:33) 177 at org.apache.ibatis.scripting.xmltags.TrimSqlNode.apply(TrimSqlNode.java:55) 178 at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:33) 179 at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:41) 180 at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:292) 181 at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:83) 182 at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) 183 at com.sun.proxy.$Proxy197.query(Unknown Source) 184 at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148) 185 ... 131 common frames omitted 186 00:23:57.509 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - [logException,199] - Resolved [org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 187 ### Error querying database. Cause: java.lang.NullPointerException 188 ### Cause: java.lang.NullPointerException]