springboot 内存数据库
时间: 2023-11-15 12:00:13 浏览: 196
Spring Boot提供了三种内嵌数据库,包括H2、HSQL和Derby。其中,H2是一个用Java开发的嵌入式数据库,可以直接嵌入到应用项目中,是一种内存数据库。内存数据库是指将数据存储在内存中,而不是硬盘上,因此读写速度非常快。在Spring Boot中使用H2内存数据库非常方便,只需要在配置文件中添加相应的依赖和配置即可。同时,H2内存数据库也支持持久性,可以将数据保存到硬盘上,以便下次启动时恢复数据。
相关问题
springboot内存数据库
Spring Boot 内置了 H2 数据库,是一个内存数据库,可以用于开发和测试环境。使用 H2 数据库需要在 pom.xml 文件中添加以下依赖:
```
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
```
然后在 application.properties 文件中配置 H2 数据库的连接信息:
```
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
```
这样就可以在 Spring Boot 中使用 H2 数据库了。
springboot h2数据库例子
Spring Boot 和 H2 数据库结合是一个常见的轻量级开发场景,H2 是一个内存型的嵌入式数据库,常用于快速原型开发和测试。下面是一个简单的 Spring Boot 应用使用 H2 的例子:
首先,在 `pom.xml` 文件中添加 H2 数据源依赖:
```xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope> <!-- 只在运行时添加 -->
</dependency>
</dependencies>
```
然后,配置数据源和 JPA 配置:
```java
@Configuration
@EnableJpaRepositories(basePackages = "com.example.demo.repository") // 指定仓库模块位置
public class DatabaseConfig {
@Value("${spring.datasource.url}")
private String url;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Bean
public DataSource dataSource() {
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.H2) // 使用H2
.addScript("schema.sql") // 加载初始化脚本
.build();
}
@Bean
public PlatformTransactionManager transactionManager(DataSource dataSource) {
return new JpaTransactionManager(entityManagerFactory(dataSource));
}
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource) {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
Map<String, Object> jpaProperties = new HashMap<>();
jpaProperties.put("hibernate.dialect", H2Dialect.class);
jpaProperties.put("hibernate.show_sql", true); // 显示SQL日志
LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
factory.setDataSource(dataSource);
factory.setJpaVendorAdapter(vendorAdapter);
factory.setPackagesToScan("com.example.demo.entity"); // 扫描实体类包
factory.setJpaProperties(jpaProperties);
return factory;
}
}
```
在这个例子中,你需要创建一个 `schema.sql` 脚本来定义数据库结构。现在你可以创建一个简单的实体类 (`User.java`),并创建对应的 Repository 接口 (`UserRepository.java`)。
阅读全文