2016-04-24 51 views
4

存在我正在開發使用SpringBoot一個web應用程序,這是我application.properties文件中指定的憑據訪問數據庫:jdbc4.MySQLSyntaxErrorException:表不在數據庫

spring.datasource.driverClassName=com.mysql.jdbc.Driver 
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/Salamander 
spring.datasource.username=root 
spring.datasource.password=root 
spring.jpa.hibernate.ddl-auto=create-drop 
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect 

但是當我嘗試運行SpringBoot應用程序,它給了我這個錯誤:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'salamander.user' doesn't exist 
    at sun.reflect.GeneratedConstructorAccessor72.newInstance(Unknown Source) ~[na:na] 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_40] 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[na:1.8.0_40] 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) ~[mysql-connector-java-5.1.38.jar:5.1.38] 
    at com.mysql.jdbc.Util.getInstance(Util.java:387) ~[mysql-connector-java-5.1.38.jar:5.1.38] 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:939) ~[mysql-connector-java-5.1.38.jar:5.1.38] 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878) ~[mysql-connector-java-5.1.38.jar:5.1.38] 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814) ~[mysql-connector-java-5.1.38.jar:5.1.38] 
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478) ~[mysql-connector-java-5.1.38.jar:5.1.38] 
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625) ~[mysql-connector-java-5.1.38.jar:5.1.38] 
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551) ~[mysql-connector-java-5.1.38.jar:5.1.38] 
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861) ~[mysql-connector-java-5.1.38.jar:5.1.38] 
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1962) ~[mysql-connector-java-5.1.38.jar:5.1.38] 
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:82) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 
    ... 69 common frames omitted 

當然,我有一個實體稱爲用戶,但數據庫是空的。但是

spring.jpa.hibernate.ddl-auto=create-drop 

應該說hibernate在db中再次創建表,對嗎?所以有什麼問題?

如果我這樣做,但與遠程數據庫,它的工作原理,即使遠程數據庫是空的。

+0

做ü管理解決烏爾prblm? – FuSsA

+1

@FuSsA我認爲問題是這個聲明'spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQLInnoDBDialect',我刪除它,並開始工作... – nbro

+0

它應該符合你期望的方言例如org.hibernate.dialect.MySQL5Dialect對我來說非常合適。另外請確保您不要在這裏使用任何已棄用的方言類。 – ITisha

回答

1

這個問題是固定的去除 spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQLInnoDBDialec牛逼

相關問題