NewProxyPreparedStatement.isClosed()Z ; com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.isClosed

在实现 json 对象返回到后端并保存到数据库时,网页报了如下错误
<body>
	<h1>HTTP状态 500 - 内部服务器错误</h1>
	<hr class="line" />
	<p><b>类型</b> 异常报告</p>
	<p><b>消息</b> Handler dispatch failed; nested exception is java.lang.AbstractMethodError: Method
		com&#47;mchange&#47;v2&#47;c3p0&#47;impl&#47;NewProxyPreparedStatement.isClosed()Z is abstract</p>
	<p><b>描述</b> 服务器遇到一个意外的情况,阻止它完成请求。</p>
	<p><b>例外情况</b></p>
	<pre>org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.AbstractMethodError: Method com&#47;mchange&#47;v2&#47;c3p0&#47;impl&#47;NewProxyPreparedStatement.isClosed()Z is abstract
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1006)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:877)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
	org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
</pre>
	<p><b>根本原因。</b></p>
	<pre>java.lang.AbstractMethodError: Method com&#47;mchange&#47;v2&#47;c3p0&#47;impl&#47;NewProxyPreparedStatement.isClosed()Z is abstract
	com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.isClosed(NewProxyPreparedStatement.java)
	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.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:78)
	com.sun.proxy.$Proxy28.isClosed(Unknown Source)
	org.apache.ibatis.executor.BaseExecutor.closeStatement(BaseExecutor.java:285)
	org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:52)
	org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
	org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
	org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:198)
	org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:185)
	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.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
	com.sun.proxy.$Proxy16.insert(Unknown Source)
	org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)
	org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:58)
	org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
	com.sun.proxy.$Proxy17.insertProduction(Unknown Source)
	com.cyx.service.InsertMapperImpl.insertAll(InsertMapperImpl.java:27)
	com.cyx.service.InsertMapperImpl$$FastClassBySpringCGLIB$$64cc14cc.invoke(&lt;generated&gt;)
	org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
	org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:747)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
	org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
	org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
	org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
	com.cyx.service.InsertMapperImpl$$EnhancerBySpringCGLIB$$5ac0b524.insertAll(&lt;generated&gt;)
	com.cyx.controller.NodeLinkPage.insertData(NodeLinkPage.java:28)
	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.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209)
	org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
	org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:877)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:783)
	org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:877)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
	org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
</pre>
	<p><b>):注意</b> 主要问题的全部 stack 信息可以在 server logs 里查看</p>
	<hr class="line" />
	<h3>Apache Tomcat/9.0.41</h3>
</body>

昨晚因为报这个错,于是找了好久好久,看了下日志,并没有显示什么异常,并且在不用事务操作的时候,数据增加了一条数据,但是我是插入了多个啊,怎么就只给我执行一个语句就中断停止
在这里插入图片描述
首先认为是自己代码问题,会不会因为自己哪里写错了,才中断的,但事实是在测试类中能成功插入,昨天没找到问题的原因是自己总觉得是我的代码问题,所以一直在测试代码,因为毕竟执行了一条语句,要不然就都不应该执行,后来换了个简单的代码------------------------也只执行一条,数据库连接就给我关闭了
今天解决问题的原因在于方向不再是自己代码上了,认真看了下报错原因,显示c3p0这个关键字,于是去网上搜了搜,说是c3p0版本的问题,0.9.5.2以下 建议都不要用,因为他会与spring不兼容,于是我看了下我的依赖
在这里插入图片描述
所以问题到底是什么??????
后来经过多番查找,被一位兄台的问题给点醒了,会不会是缓存问题,代码没问题,包没问题,但有个很重要的事情是当IDEA最后部署到Tomcat时是要把这些文件和jar包一起打包的,也就是说你所看到的代码和依赖并不是真实的,真实的东西是在最后打的包
在这里插入图片描述
也就是这个文件夹,检查发现
在这里插入图片描述

好家伙,果然果然啊,在这里就有个知识点可以得知,添加的依赖在不清空缓存的情况下,重新部署,原来的依赖还是存在,虽然MAVE的依赖库里被替换了,但是打包的lib并没有,所以导致新旧两个包冲突了,因祸得福,这种经验课本上是学不来的
解决办法:
在这里插入图片描述
清空缓存,重新部署,问题解决

总结:

遇到包的依赖问题,在重新更换完依赖后,一定要看看部署的包有没有替换,那才是核心的文件,透过现象看本质,才是解决问题的根源,我爱编程

【完整课程列表】 完整图文版教程 优质的Python基础入门教程 02、程序的灵魂-算法 (共11页).pptx 完整图文版教程 优质的Python基础入门教程 03、Python布尔类型复习4 (共9页).pptx 完整图文版教程 优质的Python基础入门教程 03、Python基本语法1 (共32页).pptx 完整图文版教程 优质的Python基础入门教程 03、Python基本语法2 (共17页).pptx 完整图文版教程 优质的Python基础入门教程 03、Python基本语法3 (共22页).pptx 完整图文版教程 优质的Python基础入门教程 04、Python控制语句-条件语句 (共39页).pptx 完整图文版教程 优质的Python基础入门教程 05、Python控制语句-循环语句1 (共27页).pptx 完整图文版教程 优质的Python基础入门教程 05、Python控制语句-循环语句2 (共21页).pptx 完整图文版教程 优质的Python基础入门教程 06、Python内置数据结构1 (共29页).pptx 完整图文版教程 优质的Python基础入门教程 06、Python内置数据结构2 (共50页).pptx 完整图文版教程 优质的Python基础入门教程 07、Python文件操作 (共19页).pptx 完整图文版教程 优质的Python基础入门教程 08、Python内置数据结构练习 (共18页).pptx 完整图文版教程 优质的Python基础入门教程 09、Python函数 (共96页).pptx 完整图文版教程 优质的Python基础入门教程 10、Python函数练习 (共64页).pptx 完整图文版教程 优质的Python基础入门教程 11、Python函数总结 (共36页).pptx 完整图文版教程 优质的Python基础入门教程 12、Python模块 (共55页).pptx 完整图文版教程 优质的Python基础入门教程 14、Python面向对象编程 (共64页).pptx 完整图文版教程 优质的Python基础入门教程 15、Python异常处理 (共30页).pptx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值