Spring Boot,找不到数据库?

来源:互联网 发布:激光发射器软件 编辑:程序博客网 时间:2024/06/06 23:51

        今天在实现一个小demo的时候,被一个找不到数据库的问题坑了好久啊啊啊啊啊啊,记录一下,以后做事情一定要认真;另外,知识的掌握一定要扎实牢靠。

   1、看起来很简单的问题

   简单描述一下背景:

   使用Spring boot创建一个服务提供者,选取了web,jpa,h2等进行简单支持。

   由于是个demo级别的,所以也没有配置本地h2,只是配置了建表语句和数据sql,但就是这几个简单的步骤,就折腾了一个小时。。

   编码完成之后,启动spring boot,失败…… 后来调整了yml配置,启动成功了。

   本以为可以继续进行了,但在浏览器输入request url之后,却提示失败,查看了一下log,提示如下:


    很容易看出来,是数据库找不到,于是检查了下建表语句,发现确实user写错了,竟然写成了usre……

 

    2、头疼的问题

    改了之后,发现还是不行,依旧提示这个错误。仔仔细细检查了所有的sql之后,发现还是不行,就很惆怅了。

    于是,网上Baidu了一下,得到了N条不靠谱结果,后来找到一条看起来可行的方案:“认为是sql文件执行多次造成的数据混乱,在IDEA中执行mvn autorun:run -Prefresh-db-dev”。抱着试试看的心态,执行了命令,get到如下结果:

    

    得到这个结果,之后,就围绕着这个问题进行了将近半个多小时的查询过程,发现无论是Baidu还是StackOverflow,都没什么好的解决方案。最重要的问题是,不知道问题出在什么地方,深扎这条路方向也

不确定是不是正确,就想先回头反思一下。

    首先,因为此时的h2数据库没有本地化,始终是存在于内存的,所以每次重启都会新建一个,所以基本先排除

多次执行sql造成混乱的问题。

    再次检查sql和对于data.sql,scheml.sql的配置,发现这两个sql被我放在了一个sql文件夹下,而yml中配置的classpath下没有sql文件名!

    加上/sql之后,果然启动后刷新得到了数据。

    

    就这么一个小小的问题,将近耗费了将近一个小时的时间,但这一个小时的时间并不是浪费。从中想想,我们还是能到得到一些处理问题的思路:

    1、遇到问题后,先分解问题可能产生问题的原因,整理成不同的路线;

    2、由简入繁,各个击破;

    3、求助网络的时候,不要忙于相信,先分析是否自己的问题情景是否和文章描述相符或相近;

    4、对于长时间找不到答案的问题,很可能不是个问题。

    

    

    



原创粉丝点击