Spring Boot 默认 H2 jdbc 连接(和 H2 控制台)

作者:编程家 分类: spring 时间:2025-12-08

使用Spring Boot时,我们经常需要与数据库进行交互。Spring Boot提供了各种集成数据库的方式,其中一种是通过H2 jdbc连接。H2是一个内存数据库,它允许我们在应用程序中使用数据库而不需要安装额外的数据库服务器。

在Spring Boot中,默认情况下,我们可以使用H2 jdbc连接和H2控制台。H2 jdbc连接允许我们通过Java代码与H2数据库进行交互,而H2控制台则允许我们通过浏览器访问数据库并执行SQL语句。

使用H2 jdbc连接

要使用H2 jdbc连接,我们首先需要在Spring Boot项目的配置文件中添加H2数据库的相关配置。在application.properties或application.yml文件中,我们可以添加以下配置:

spring.datasource.url=jdbc:h2:mem:testdb

spring.datasource.driverClassName=org.h2.Driver

spring.datasource.username=sa

spring.datasource.password=

上述配置中,我们指定了H2数据库的连接URL、驱动类和用户名密码。这里的连接URL中的"mem:testdb"表示我们使用的是内存数据库,并且数据库名称为"testdb"。

接下来,我们可以在Java代码中使用H2 jdbc连接进行数据库操作。例如,我们可以创建一个实体类User,表示用户信息:

java

@Entity

@Table(name = "users")

public class User {

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

private Long id;

private String name;

private int age;

// 省略getter和setter方法

}

然后,我们可以创建一个UserRepository接口,继承自Spring Data JPA的CrudRepository接口,用于对User实体进行CRUD操作:

java

public interface UserRepository extends CrudRepository {

List findByName(String name);

}

在上述代码中,我们使用了Spring Data JPA提供的方法命名规则,定义了一个根据姓名查询用户的方法。

最后,我们可以在控制器中使用UserRepository进行数据库操作。例如,我们可以创建一个UserController类,并注入UserRepository:

java

@RestController

public class UserController {

@Autowired

private UserRepository userRepository;

@GetMapping("/users")

public List getUsers() {

return userRepository.findAll();

}

@GetMapping("/users/{id}")

public User getUserById(@PathVariable Long id) {

return userRepository.findById(id).orElse(null);

}

// 省略其他方法

}

在上述代码中,我们使用了Spring MVC的注解@RestController和@GetMapping,定义了两个接口用于获取所有用户和根据ID获取用户。

使用H2控制台

H2控制台是一个基于浏览器的数据库管理工具,我们可以通过它来访问H2数据库并执行SQL语句。

要使用H2控制台,我们需要在Spring Boot项目的配置文件中添加以下配置:

spring.h2.console.enabled=true

然后,我们可以在浏览器中访问"/h2-console"路径,进入H2控制台。在控制台中,我们可以输入数据库连接URL、用户名和密码,并点击连接按钮。

连接成功后,我们可以在控制台中执行SQL语句,例如创建表、插入数据等。执行的SQL语句和结果都会在控制台中显示。

本文介绍了在Spring Boot中使用H2 jdbc连接和H2控制台的方法。通过H2 jdbc连接,我们可以使用Java代码对H2数据库进行操作。而H2控制台则提供了一个方便的界面,可以通过浏览器执行SQL语句。

通过这些功能,我们可以方便地进行数据库开发和调试,提高开发效率。希望本文对大家在使用Spring Boot时与H2数据库进行交互有所帮助。