我正在使用SpringBoot开发一个Web应用程序,这是我的application.properties文件,用于指定访问数据库的凭据:spring.datasource.driverClassName=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://127.0.0....

我正在使用SpringBoot开发一个Web应用程序,这是我的application.properties文件,用于指定访问数据库的凭据:
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
当然我有一个名为user的实体,但数据库是空的.但
spring.jpa.hibernate.ddl-auto=create-drop
应该说hibernate在db中再次创建表,对吧?所以有什么问题?
如果我使用远程数据库执行相同操作,即使远程数据库为空,也可以正常工作.
解决方法:
这个问题是通过删除修复的
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQLInnoDBDialec吨
本文标题为:java – jdbc4.MySQLSyntaxErrorException:数据库中不存在表


基础教程推荐
- 详解SpringBoot项目整合Vue做一个完整的用户注册功能 2023-03-06
- spring boot项目实战之实现与数据库的连接 2023-07-15
- 告诉你springboot各个文件夹的作用 2023-04-22
- java封装及四种权限修饰符详解 2023-03-30
- Java多线程实现FTP批量上传文件 2023-01-29
- java编程几行代码实现买菜自由 2022-11-14
- Java设计模式之迭代器模式 2023-06-10
- 基于javaweb+jsp实现个人日记管理系统 2023-07-30
- SpringBoot EasyPoi动态导入导出的两种方式实现方法详解 2023-05-24
- MyBatis图文并茂讲解注解开发一对一查询 2023-02-18