2017-04-19 26 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你不能用它