📜  在 jpa spring boot 中自动创建数据库模式 (1)

📅  最后修改于: 2023-12-03 15:37:22.297000             🧑  作者: Mango

在 JPA Spring Boot 中自动创建数据库模式

在使用 JPA 和 Spring Boot 开发应用程序时,我们通常需要创建一个数据库模式来存储数据。这个过程可能会比较繁琐,但是我们可以通过配置来实现自动创建数据库模式的功能。

步骤

步骤1:在 Pom.xml 文件中添加依赖

首先,在 pom.xml 文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
  <groupId>com.h2database</groupId>
  <artifactId>h2</artifactId>
  <version>1.4.197</version>
  <scope>runtime</scope>
</dependency>

这些依赖将允许我们使用 JPA 来访问和管理数据库,并使用 H2 数据库作为我们的开发环境。

步骤2:配置数据源和 JPA

接下来,在 application.properties 文件中添加以下配置:

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=create

这些配置将创建一个 H2 内存数据库,并自动创建模式。

其中,spring.jpa.hibernate.ddl-auto=create 属性表示在启动应用程序时自动创建表和模式。

步骤3:创建实体类

现在,我们需要为我们的模式创建实体类。例如,我们可以创建一个名为 User 的简单实体:

@Entity
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String name;
    private Integer age;

    // Getter and Setter methods
}

在这个实体类中,我们可以看到 @Entity 注释,它表示这个类将成为我们的数据库表的映射。

步骤4:使用自动创建的数据库模式

现在,我们已经完成了 JPA 和 Spring Boot 中自动创建数据库模式的所有步骤。

我们可以创建一个极简的控制器来演示如何使用自动创建的模式:

@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserRepository userRepository;

    @GetMapping
    public Iterable<User> getUsers() {
        return userRepository.findAll();
    }

    @PostMapping
    public User createUser(@RequestBody User user) {
        return userRepository.save(user);
    }
}

在这个控制器中,我们注入了一个 UserRepository 对象,并使用它来获取和保存用户数据。

现在,当我们启动应用程序时,Spring Boot 将自动使用 Hibernate 和 H2 内存数据库来创建一个新的用户表。

我们可以使用 Postman 或其他 HTTP 客户端来向 /users 路径发送 POST 请求来创建一个新的用户。我们还可以使用 GET 请求来获取所有的用户。

总结

通过以上步骤,我们已经学习了如何在 JPA Spring Boot 中自动创建数据库模式。这使我们能够更快地开始创建应用程序,而不必手动创建数据库模式。