ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in....

错误如下 :

ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException: null

截图 :
在这里插入图片描述

  首先,出现这种错误不要慌张 ,找到解决问题的方法才是最重要的。
报这种错误的原因不止一种,如果出现的问题和我的不对应,可以参考别人的博客 ,我这里说明一下我是如何解决这个错误的。

   我是在SpringBoot项目中遇到的这个问题, 调试了小半天也没有调试成功【哈哈,自己太水了】。
   之前都是在代码层面修改,发现没有用,然后我查看了一下数据库【MySQL数据库】,发现了问题所在 。
   因为项目是自己拿来练手的,所以手动地在数据库中添加了一些测试数据,以便在前端查询得到结果 。

问题原因分析 :

   数据库中有 A ,B 两个表 ,A表中的 tid 与 B表中的主键id相对应 ,但由于我没给A表设置外键,所以在插入数据时,可以任意插入 。 但是,在后端从数据库中获取数据时,我写的sql用到了A ,B两表连接 , 这时候就出现了问题, A 中 有一部分 tid 字段 没有在 B中出现,此时,查询数据的语句会抛出异常 。也就导致了上述问题。

如何解决 :

1、仔细检查数据库表,查看主外键是否设置 , 数据插入是否遵守相应的规则
2、删除数据库“不对应 / 错误”的数据


总结 :
  1、在数据库设计时 ,一定要严谨,严格的遵循相应的规则, 【主外键设置,not null,等等】
  2、在给数据库中插入数据时,要注意数据的格式,类型等因素


本人水平有限,文章难免存在疏漏和不足之处,欢迎广大读者朋友批评指正。

猜你喜欢

转载自blog.csdn.net/VariatioZbw/article/details/106689645