零:前言
初學Spring + Angular才不到一周時間,剛打開第一個Spring的示例項目,在運行時就出現了錯誤。
代碼如下:
***************************
APPLICATION FAILED TO START
MySQL source?***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
連接MySQL。If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
Disconnected from the target VM, address: '127.0.0.1:50367', transport: 'socket'
Process finished with exit code 1
又重新看了一次我所學習的教程,教程中只給了一個Spring開發手冊的鏈接,卻沒有給出連接數據庫的具體步驟,或許,老師的意思,是想讓我們看開發文檔自己學習。
于是,我打開了這個鏈接
mysql workbench。Spring的開發文檔很具體,從環境要求到如何建立數據庫、如何連接,都說的很清楚,只不過由于是英文,讀起來有一些難度。
一:連接數據庫
我們需要找到的,是設置數據庫的那個配置文件,所以開發文檔中許多內容我們并不需要。
終于,我找到了下面這一段:
大概的翻譯內容是:Spring給你提供了許多的默認設置,然而,對于數據庫的配置你需要自己來進行。然后把這一段代碼寫在配置文件中:
spring.jpa.hibernate.ddl-auto=update
can't connect to MySQL server on。spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=ThePassword
我們需要把第二行的localhost改成自己的地址,3306是數據庫端口,db_example改成要訪問的數據庫名稱。
把第三行的username改成數據庫的用戶名,第四行password是數據庫的密碼,如下:
保存,啟動,通過編譯
jdbc connection will not be,(上圖表示成功運行,請勿在意網頁內容)
二、遇到錯誤以及解決
當軟件能跑起來之后,繼續寫代碼,卻發現真正需要用到數據庫的時候,報錯了...
“空白頁”問題之前出現了很多次,初學的時候不知道報錯的關鍵信息是什么,后來才知道與之前所學的ThinkPHP不同的是,最關鍵的信息沒有放在第一行,而是最后一行的Failed to obtain JDBC Connection; nested exception is java.sql.SQLSyntaxErrorException: Unknown database 'db_example'
我恍然大悟,它找不到db_example,原來是我由于比較粗心,只改了數據庫的地址用戶名密碼,而忘了改庫名...
按照庫名修改了配置文件之后:
MySQL連接數據庫的四種方式,再次運行,成功顯示JSON對象。
細心很重要
后記
曾經學習的ThinkPHP5.1,它的報錯界面是這樣的:
最醒目的位置,是最重要的信息,然后馬上給出報錯代碼,無疑,這種顯示方式,對于小白來說更友好。
當然Spring的這種錯誤顯示方式,或許也有它的道理,至于具體為什么,還要等自己更深入的學習之后才能找到答案。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态