SpringBoot第四篇:连接H2数据查询数据报:Wrong username or password 或者Table "USER" not found

在上一篇编写如何连接H2数据库查询数据的时候,出现了好些关于H2数据库的问题。现在一一提供我的解决方案。

1.创建H2数据库时,提示:org.h2.jdbc.JdbcSQLException: A file path that is implicitly relative to the current working directory is not allowed in the database URL "jdbc:h2:tcp://localhost/actcp-sa". Use an absolute path, ~/name, ./name, or the baseDir setting instead. [90011-187]

首先,我配置了整个项目的工作路径,Run -> Edit Configuration -> Defaults -> Application -> Working directory

SpringBoot第四篇:连接H2数据查询数据报:Wrong username or password 或者Table "USER" not found

然后在创建H2数据库的时候,将它自动填入的file:删除,这个表示是在当前项目路径下找,而提示也说了:数据库中不允许使用与当前工作目录隐式相关的文件路径,

SpringBoot第四篇:连接H2数据查询数据报:Wrong username or password 或者Table "USER" not found

ok,自此,这个错误消失了,对了在创建的时候记得填入你要设置的用户名和密码。

2.一切准备就绪后,运行项目查询数据库的是提示Wrong username or password,很有可能是我之前没在创建的时候配置用户名和密码,导致连接的时候出错。这个时候怎么改呢?千万别回去修改你已经创建好的H2数据库的属性,没用的。

先去把原来的db文件找到,删除如下图两个文件:

SpringBoot第四篇:连接H2数据查询数据报:Wrong username or password 或者Table "USER" not found

好,删除之后,就把iead创建的那个也删除掉。重新在创建的时候,配置好用户名和密码。再尝试一次时候通过,如果还不行

第二种,还是把那些文件删除,idea也删除掉。直接运行项目,项目运行的时候连接数据库如果发现没有h2数据库会自动创建,你在application.properties中配置好的用户名和密码就直接会被它设置好。这一种肯定能解决。

3.在你上面按第二种解决掉用户名和密码的错误时,你在去尝试运行项目访问数据库,就会提示你第三个错误:Table "USER" not found。

如何解决呢,第二种自动创建的数据库肯定是没有你之前配置好数据库中的数据的。而且你在iead无法操作数据库。

你还是按原来的方法在idea中创建h2数据库,在填写path的时候,请你把数据库文件的全名写上去!!!,不要省略写一个数据库名,这样相当于连接的是第二种方法创建的数据库,如下图:用户名和密码也要跟配置文件中一样,测试通过之后,再将你之前创建的表创建好。再去运行数据库就能成功访问数据库了的某某表的数据啦。

SpringBoot第四篇:连接H2数据查询数据报:Wrong username or password 或者Table "USER" not found

自此,H2的总算搞定了,如果还出现其他错误,要好好分析报错信息,多多尝试。

各位好好努力吧。