我正在使用springboot和mysql构建一个web应用程序。我一直在关注视频指南系列信,但作者没有显示他如何建立数据库。
这是我一直在复制以下结果的视频:https://www.youtube.com/watch?v=kbfiel-fomq&index=7&list=pl2orqjm8zmz0k-s5ffr2qrwgupnaino0m
我使用mysql工作台创建了一个连接和模式。我完全按照他的方式配置了应用程序,但在他的视频中,应用程序中创建的实体在他的模式中显示为表,而我的没有。
我试着从他的github导入他的项目代码,并运行了它,但它仍然没有在我的模式中创建表。
application.properties配置如下:
spring.datasource.url = jdbc:mysql://localhost:3306/freshvotes
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.username=example_user
spring.datasource.password=password123
spring.jpa.database-platform=org.hibernate.dialect.MySQL57Dialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.thymeleaf.cache=false
这是我创建的用户实体:
package com.freshvotes.domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="users")
public class User {
private Long id;
private String username;
private String password;
private String name;
@Id @GeneratedValue (strategy=GenerationType.IDENTITY)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
预期的结果是,只要我以spring boot app的形式运行app,实体就会在mysql localhost server中创建的模式中显示为表。
我得到的是没有显示在我的数据库服务器。不管我是否创建了一个模式。当我在服务器离线的情况下运行应用程序时,ide控制台中甚至没有出现错误。
2条答案
按热度按时间pdtvr36n1#
所以我假设你从这里下载并安装了mysql社区版的mysql。我没有关注或观看这个视频指南,但我可以在这里向您指出spring的官方文档。
一旦设置了db并为spring应用程序添加了一个用户,就需要获取连接字符串,就像在application.properties文件中所做的那样。我确实遇到了一些警告和失败,因为我的粗糙设置没有ssl所以添加
?useSSL=false
连接到你的连接。同时设置
spring.jpa.hibernate.ddl-auto=create-drop
创建或创建drop(我只使用createdrop进行测试),否则hibernate将无法创建表,只能更新它们。jtoj6r0c2#
所以我让它按计划运行。我之前在尝试使用maven构建项目时遇到了一个错误,并在pom.xml文件中添加了3个依赖项。使我的项目得以构建和运行,但没有更新数据库。
我只是再次注解了这些依赖项,但这次,它正确地构建并按预期运行。
如果您对它们感兴趣,现在可以使用以下注解依赖项: