2017-04-19 25 views
0

我嘗試在我的項目中包含MySQL-DB。春季:在項目中設置MySQL數據庫

我已經安裝了MySQL程序,創建了一個DB(模式),併爲訪問認證設置了密碼和用戶名。

包含pom文件依賴關係等。

現在我堅持了我的application.properties:

spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
spring.datasource.url=jdbc:mysql://localhost:3306/asndb 
spring.datasource.username=root 
spring.datasource.password=asnTeam1 
spring.jpa.hibernate.ddl-auto=create 

在MySQL的經理,我可以從我的模型看到所有屬性,所以連接應該工作,對不對?

我該怎麼做?我需要MySQL客戶端嗎?

UPDATE改變application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/asndb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC 
spring.datasource.username=root 
spring.datasource.password=asnTeam1 
spring.jpa.hibernate.ddl-auto=create 
spring.datasource.testWhileIdle = true 
spring.datasource.validationQuery = SELECT 1 

spring.datasource.driverClassName = com.mysql.jdbc.Driver 
spring.jpa.show-sql = true 
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect 

spring.datasource.platform=mysql 
spring.datasource.schema=schema-mysql.sql 
spring.datasource.data=data-mysql.sql 
spring.datasource.initialize=true 
spring.datasource.continue-on-error=true 

現在我想用MySQL客戶端我data.sql要打開的文件。但是在我的sql語法中有一些錯誤。在插入聲明後:

INSERT INTO USER (FIRST_NAME, LAST_NAME, USERNAME, PASSWORD, USER_ROLE) VALUES('Admin', 'Istrator', 'admin', '$2a$10$W9xQIwa/FstPUvcbzJXnQ.XjVdTyIcCEp.g6VCq1gYuSsQNjJjbJG', 'ADMIN') 

INSERT INTO USER (FIRST_NAME, LAST_NAME, USERNAME, PASSWORD, USER_ROLE) VALUES('Bernd', 'Menia', 'bernd', '$2a$10$6dQcayeT/JAFvgFvzIjlcew5z9cmdCrGlv57.BGnIKvPXTDsQm7hG', 'PARENT') 
INSERT INTO PARENT (FAMILY_STATUS, LOCATION, POSTCODE, STREET_NAME, IMG_NAME, STATUS, ID) VALUES ('MARRIED', 'Innsbruck', '6020', 'Bahnhofstraße', 'john.jpg',TRUE, SELECT ID FROM USER WHERE USERNAME = 'bernd') 

我該怎麼做?

SOLUTION:

從上面和第一彈簧啓動後持續DB註釋掉ddl-auto=trueinitialize=true將較大application.properties。

User是MySQL中的一個保留關鍵字,所以不允許使用。

使用spring-app中的data.sql文件填充mySQL DB是不可能的,所以我通過My​​SQL-Workbench打開文件並執行語句。

+0

什麼錯誤?請添加堆棧跟蹤 – akuma8

+0

更新我的問題與錯誤消息 – SteveOhio

+0

@ akuma8在我的問題上面添加了一些信息 – SteveOhio

回答

2

遇到類似的問題從這個post。希望這可以幫助。

而不是

spring.datasource.url=jdbc:mysql://localhost:3306/asndb 

試試這個:

spring.datasource.url=jdbc:mysql://localhost:3306/asndb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC 
+0

謝謝你的幫助..但現在沒有數據從我的data.sql數據庫了 – SteveOhio

+0

嘗試添加一些數據到您的數據庫使用mySQL命令從您的控制檯,並檢查它。 – Chip

+0

它不起作用。當我重新執行SFW語句時,表格是空的。我試圖打開我的data.sql文件,但它說在我的sql語法中有錯誤...上面的問題 – SteveOhio

1

要在數據庫表中插入數據,確保數據庫被打開,所以在你的MySQL客戶端,由開始:

mysql>use asndb; 

並檢查您的表格:userparent是否存在:

mysql>show tables; 

之後,您可以將您的數據:

INSERT INTO asndb.USER(.....); 

而且USER你不能用它