1. 前言

  1. 在前几天工作的时候,突然发现如下报错:
    在这里插入图片描述

    从上述报错信息可以得出:某个对象无法转化为Optional对象。而对应的代码如下:

    在这里插入图片描述

    无论从哪里看,都感觉没有任何问题,不经感概到居然还有不能使用Optional的吗?此时,长吸一口烟,压压惊。

2. 先说结论

  1. 对于我的问题来说,实际上就是该项目的mybatis版本太低了,无法使用Optional。

    <!-- 原先的低版本,mybatis不支持使用optional-->
    <!--        <dependency>-->
    <!--            <groupId>org.mybatis.spring.boot</groupId>-->
    <!--            <artifactId>mybatis-spring-boot-starter</artifactId>-->
    <!--            <version>1.3.4</version>-->
    <!--        </dependency>-->
    	<!-- 替换高版本即可 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>
    

3. 过程

  1. 刚刚开始看到这个报错,以为是sql有问题,但是把sql去数据库客户端执行并无问题,后来检查代码,似乎也没问题。
  2. 然后开始上网查询资料,似乎也没类似可以参考的资料,到这里真无解了。
  3. 无意中认真查看了报错信息,发现有个被压缩的内容,如下:
    在这里插入图片描述
    在这里插入图片描述
    发现了Unknown Source,不认识的源文件???不认识??Optianol不认识???
    突然顿悟,该不会是版本太低了,不支持optianol吧。
    后来排查确实是版本过低,更新为高版本之后,问题得以解决了。
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐