You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring整合Mybatis抛出TypeNotPresentException,请求排查解决

MyBatis与Spring整合报错解决方案

1. 缺失MyBatis核心依赖

你的pom.xml仅引入了MyBatis与Spring的整合包mybatis-spring,但未添加MyBatis核心依赖,导致JVM无法找到org.apache.ibatis.session.SqlSessionFactory类。

需要在<dependencies>中加入MyBatis核心包:

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.15</version> <!-- 与mybatis-spring 3.0.2版本兼容 -->
</dependency>

2. Spring版本与JDK版本不兼容

你使用的Spring 6.1.3要求最低JDK版本为17,但pom.xml中指定的编译版本是JDK 1.7,这会引发严重的兼容性问题,必须二选一调整:

  • 方案A:升级JDK至17及以上,保留Spring 6.x和当前mybatis-spring版本
  • 方案B:降级Spring到兼容JDK 1.7的5.3.x系列,同时匹配对应版本的mybatis-spring(如2.1.5)

方案B的核心依赖调整示例:

<!-- Spring 5.3.x 兼容JDK 1.7+ -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
    <version>5.3.30</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.30</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>5.3.30</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.30</version>
</dependency>
<!-- mybatis-spring 2.1.x 适配Spring 5.x -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>2.1.5</version>
</dependency>
<!-- MyBatis核心包 -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.9</version>
</dependency>

3. 操作步骤

  • 添加MyBatis核心依赖
  • 调整Spring/JDK版本至兼容组合
  • 执行mvn clean install刷新依赖
  • 重新运行测试代码

内容的提问来源于stack exchange,提问作者吴思正

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 13:49:49