spring.datasource.schema和spring.datasource.data的配置h2的例子
时间: 2024-09-18 19:08:57 浏览: 65
详解spring applicationContext.xml 配置文件
5星 · 资源好评率100%
在Spring Boot项目中,`spring.datasource.schema` 和 `spring.datasource.data` 配置用于在应用程序启动时加载数据库的结构(schema)和初始数据。对于H2数据库,这两个属性通常用于自动创建表并填充预定义的数据。
首先,在application.properties或application.yml文件中添加以下配置:
**application.properties**
```properties
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
# schema file (XML or SQL)
spring.datasource.init-schema=classpath:schema.sql
# data file (CSV, YAML, or plain text)
spring.datasource.data=classpath:init-data.yaml
```
在这里:
- `spring.datasource.url`: 指定H2内存模式的数据库URL。
- `spring.datasource.init-schema`: 设置初始化数据库结构的SQL文件路径,例如包含创建表的DDL语句。
- `spring.datasource.data`: 设置加载初始数据的文件路径,通常是YAML格式,描述了表中每个数据项应该如何插入。
**schema.sql** 文件示例:
```sql
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(50) UNIQUE NOT NULL
);
```
**init-data.yaml** 文件示例:
```yaml
users:
- id: 1
name: John Doe
email: john.doe@example.com
- id: 2
name: Jane Smith
email: jane.smith@example.com
```
启动应用程序时,Spring会先执行`schema.sql`文件中的SQL语句来创建数据库表,然后根据`init-data.yaml`中的内容填充数据。
阅读全文