配置SpringMVC+Mybatis+SQLServer (2)——配置过程中常见问题

该文详细记录了在整合SpringMVC、Mybatis与SQLServer过程中遇到的问题,包括:AbstractMethodError异常,如getNString方法缺失,以及SpringManagedTransaction的Timeout问题,这些问题的解决方案涉及到更新数据源配置和调整jar包版本匹配。
摘要由CSDN通过智能技术生成

本文总结下在配置MaBatis过程中,遇到的各种问题。

1、异常:java.lang.AbstractMethodError: org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getNString(Ljava/lang/String;)Ljava/lang/String;

java.lang.AbstractMethodError: org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getNString(Ljava/lang/String;)Ljava/lang/String;
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:606)
     at org.apache.ibatis.logging.jdbc.ResultSetLogger.invoke(ResultSetLogger.java:68)
     at com.sun.proxy.$Proxy22.getNString(Unknown Source)
     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.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
     at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:60)
     at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324)
     at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
     at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
     at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83)
     at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
     at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
     at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:77)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:606)
     at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:434)
     at com.sun.proxy.$Proxy7.selectOne(Unknown Source)
     at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:167)
     at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:82)
     at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53)
     at com.sun.proxy.$Proxy19.getStudentById(Unknown Source)
     at com.xtli.controller.Spring.StudentController.getStudent(StudentController.java:28)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:606)
     at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
     at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440)
     at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428)
     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
     ...
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
     at java.lang.Thread.run(Thread.java:745)
解决办法:

(1)context.xml文件中的数据源增加属性

factory="org.apache.commons.dbcp.Basic

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值