Spring boot参数更新模型数据库不起作用

Posted

技术标签:

【中文标题】Spring boot参数更新模型数据库不起作用【英文标题】:Spring boot parameter update model Database don't work 【发布时间】:2021-05-19 13:49:29 【问题描述】:

我将值设置为更新值,以便在数据库中自动创建一个与定义的数据模型相对应的表。 但它不起作用,我的属性有什么问题? 数据库:mysql

spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

spring.servlet.multipart.max-file-size=2MB
spring.servlet.multipart.max-request-size=2MB


server.port=8081
server.servlet.session.timeout=1200
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=UTC
spring.datasource.username= root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update

spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.MySQL5InnoDBDialect

spring.jpa.database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.properties.hibernate.storage.storage_engine=innodb

spring.security.user.name="root"
spring.security.user.password="123"
spring.resources.add-mappings=true
java.sql.SQLSyntaxErrorException: Table 'test.files' doesn't exist

与“spring.jpa.hibernate.ddl-auto=update”发生了什么冲突

【问题讨论】:

【参考方案1】:

确保数据库连接字符串有效。 尝试更改spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=UTC

您的数据库名称是“test”,但真的是这样吗?

【讨论】:

是的,就是这样,用 xampp 创建的。 数据库表的大写命名约定不一致也可能是导致此问题的问题 Spring 有一个缓存,因为我把所有的都用小写字母并创建了一个新的(空的)数据库 "testdb" ,但我仍然可以访问旧的

以上是关于Spring boot参数更新模型数据库不起作用的主要内容,如果未能解决你的问题,请参考以下文章

HIbernate 批量插入或更新在 Spring Boot 中不起作用

Spring Boot 错误消息不起作用

Spring Boot JPA 连接验证不起作用

Spring Boot thymeleaf 验证不起作用

为啥使用 Spring Data JPA 更新实体时@Transactional 隔离级别不起作用?

Spring Boot在jsp中显示数据不起作用[关闭]