在调试myBatis时发生的报错

Springboot
我在进行测试 selectById(int)

img

img

img

爆了上面的错误 我是要测试一下刚写好的myBatis 然后就报错了 一直显示 nullpointer 空指针异常,以及 userMapper = null 所以
是为什么呢

提示userMapper为null,这个测试要以启动SpringBoot应用的方式运行,测试类上面添加这两个注解:
@RunWith(SpringRunner.class)
@SpringBootTest
然后就可以注入UserMapper

MyBatis 报空指针异常通常是因为在使用 MyBatis 进行数据库操作时,调用的对象为空(null)。

其中 userMapper = null 的问题可能是因为没有正确配置 MyBatis 映射器(mapper)。请确保在 MyBatis 的配置文件中已经正确配置了映射器,并在代码中正确获取了对应的 mapper 对象。

如果出现空指针异常,则需要检查代码中是否存在对空对象的调用。可以通过在发生异常的代码行前加入断点,或者在异常抛出时捕获异常并打印堆栈信息来定位具体的问题所在。例如,可以尝试使用如下代码捕获并输出异常的堆栈信息:

try {
    // 执行 MyBatis 操作,放入你断点测试的testSelectUser
} catch (NullPointerException e) {
    e.printStackTrace();
}

另外,也可以尝试在 MyBatis 的配置文件中启用日志功能,以便更好地了解 MyBatis 的运行情况和出错原因。例如,在配置文件中添加以下配置,即可启用 MyBatis 的日志功能:


<configuration>
  <settings>
    <setting name="logImpl" value="STDOUT_LOGGING"/> 
  </settings>
  ...
</configuration>