解决:com.mchange.v2.c3p0.impl.NewProxyResultSet.getNString(Ljava/lang/String;)Ljava/lang/String;]

在Spring+SpringMVC+Mybatis项目中,使用c3p0<0.9.1.2>连接SqlServer时,遇到查询nvarchar字段报错。错误源于c3p0旧版本缺失getNString()方法。解决方案是升级c3p0或者改用spring-jdbc进行数据库连接,问题得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

      在写一个项目的时候,使用Spring+SpringMVC+Mybatis框架,数据库连接池使用c3p0<0.9.1.2版本>。在连接SqlServer时,一切都正常。当时当查询出来的结果中含有字段类型为nvarchar时,报出了以下错误:

严重: Servlet.service() for servlet [SpringMVC] in context with path [/mobile] threw exception [Handler dispatch failed; nested exception is java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProxyResultSet.getNString(Ljava/lang/String;)Ljava/lang/String;] with root cause
java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProxyResultSet.getNString(Ljava/lang/String;)Ljava/lang/String;
	at org.apache.ibatis.type.NStringTypeHandler.getNullableResult(NStringTypeHandler.java:37)
	at org.apache.ibatis.type.NStringTypeHandler.getNullableResult(NStringTypeHandler.java:26)
	at org.apache.ibatis.type.BaseTypeHandler.getResult(BaseTypeHandler.java:66)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.applyAutomaticMappings(DefaultResultSetHandler.java:501)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:384)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForSimpleResultMap(DefaultResultSetHandler.java:338)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValues(DefaultResultSetHandler.java:313)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSet(DefaultResultSetHandler.java:286)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:183)
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)
	at org.apache.ibatis.executor.stat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值