📜  Spring Boot – H2 数据库(1)

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

Spring Boot – H2 数据库

简介

H2数据库是一个Java编写的嵌入式关系型数据库,可以按文件存储或者以内存模式运行。它具有轻量级,速度快,易于使用等特点,适合在开发和测试阶段使用。

Spring Boot是一个快速创建Spring应用程序的框架,它通过自动配置和约定优于配置的原则,使开发者可以快速地创建一个可运行的Spring应用程序。

在Spring Boot中使用H2数据库可以极大地提高开发效率,同时可以在单元测试中使用,方便进行数据的初始化和清理。

如何使用它
添加Maven依赖

在项目的pom.xml文件中添加以下依赖:

<dependency>
   <groupId>com.h2database</groupId>
   <artifactId>h2</artifactId>
   <scope>runtime</scope>
</dependency>
配置数据源

在Spring Boot应用程序的配置文件(application.properties或application.yml)中配置H2数据源:

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

这里配置了一个名为“testdb”的内存数据库,并启用了H2控制台。

创建实体类

接下来创建实体类,并使用JPA进行持久化操作。

@Entity
@Table(name = "user")
public class User {

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

   @Column(name = "name")
   private String name;

   @Column(name = "age")
   private Integer age;

   // getters and setters
}
创建Repository

创建一个继承自JpaRepository的Repository。

public interface UserRepository extends JpaRepository<User, Long> {
}
创建Controller

创建一个Controller类,用于演示添加用户和查询用户的功能。

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

   @Autowired
   private UserRepository userRepository;

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

   @GetMapping
   public List<User> getUsers() {
       return userRepository.findAll();
   }
}
启动应用程序

启动Spring Boot应用程序,并可以通过访问http://localhost:8080/h2-console 进入H2数据库的Web控制台,查看数据。

结论

使用Spring Boot和H2数据库可以快速方便地进行开发和测试。它们的优点在于简单易用,但是在实际生产环境中,还需要更强大的数据库支持。