疑惑的 java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()L


在MAVEN項目里面,在整合spring和mybatis在執行數據庫操作的時候報出了:

java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()L錯誤

在網上搜的大多說是jar包版本不兼容的問題。但想想,不應該啊,這是他們原有的系統,難道有做過升級嗎,最后嘗試着把版本升級了下,還真是版本兼容出了問題。

 1 Exception in thread "main" java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer;
 2 at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:85)
 3 at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62)
 4 at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
 5 at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
 6 at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
 7 at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83)
 8 at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
 9 at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
10 at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:77)
11 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
13 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
14 at java.lang.reflect.Method.invoke(Unknown Source)
15 at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:358)
16 at com.sun.proxy.$Proxy8.selectOne(Unknown Source)


更正后的依賴關系為:

<properties>
    <springframework.version>3.2.9.RELEASE</springframework.version>
    <mybatis-spring.version>1.3.0</mybatis-spring.version>
    <mybatis.version>3.3.0</mybatis.version>
    <mysql-connector-java.version>5.1.37</mysql-connector-java.version>
</properties>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aop</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>${mybatis-spring.version}</version>
</dependency>

大致導致這個問題的原意就是版本的問題, 將上面的mybatis-spring版本改為1.3.0即可.具體細節還有待去發現,

可參考http://www.mybatis.org/spring/zh/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM