手动启动Spring SQL脚本



我得到了一个任务,创建一个基本的应用程序与一些数据库处理。我还是个新手,穿春靴什么的。我做了所有GET, PUT, POST, DELETE的东西,没有写任何SQL行,从表创建开始。但是他们要求我提供SQL脚本,我是如何创建数据库结构、连接和其他东西的。我该如何解决这个问题?

添加以下内容到spring.jpa.properties

spring.jpa.properties.javax.persistence.schema-generation.scripts.action=create
spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target=create.sql
spring.jpa.properties.javax.persistence.schema-generation.scripts.create-source=metadata

详情请参阅@baeldung的文章https://www.baeldung.com/spring-data-jpa-generate-db-schema。

最简单的方法是在resources文件夹中创建一个名为schema.sql的文件,其中包含有关DDL的所有查询(表创建…)和data.sql,如果需要,您可以在其中添加INSERT查询来填充您的数据库。

在应用程序中。属性,然后你必须添加spring.jpa.hibernate.ddl-auto=none来禁用JPA的模式创建,并让Spring Boot在启动时自动执行这些脚本。

如果你想要更强大的东西,你应该试试Liquibase或Flyway。

您可以使用Jpa Like jparerepository接口。你不需要写任何SQL查询,我们使用它只需将数据库配置为Application.Property,如数据库类型

您的用户名和密码

public interface UserRepository extends CrudRepository<User, Integer> {}

当执行这段代码时,你可以使用create user, get find all user, find user by id, delete user和update user

并在Entity类中使用@Entity注释将实体类表示表放入数据库

@Entity
@Table(name="user")
public class User{
@Colume(name="id")
private Long id;
@Colume(name="name")
private String name;
//getter and setter here
}

运行该类时,您的数据库契约用户表id和名称

此链接创建带有数据库的spring启动应用程序https://spring.io/guides/gs/accessing-data-mysql/

最新更新