searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

SpringBoot入门-添加内存数据库H2

2025-01-02 09:07:52
79
0

在SpringBoot项目中添加内存数据库H2是一个快速进行开发、测试和验证的好方法。H2是一个用Java编写的嵌入式数据库,它可以嵌入到Java应用程序中,也可以在客户端-服务器模式下运行。以下是在SpringBoot中添加H2内存数据库的步骤:

一、添加H2和JPA的依赖

首先,需要在项目的pom.xml文件中添加H2和Spring Data JPA的依赖。这些依赖将允许你的SpringBoot应用程序与H2数据库进行交互。

 
xml复制代码
 
 
<dependencies>
 
<!-- H2数据库依赖 -->
 
<dependency>
 
<groupId>com.h2database</groupId>
 
<artifactId>h2</artifactId>
 
<scope>runtime</scope>
 
</dependency>
 
<!-- Spring Data JPA依赖 -->
 
<dependency>
 
<groupId>org.springframework.boot</groupId>
 
<artifactId>spring-boot-starter-data-jpa</artifactId>
 
</dependency>
 
<!-- 其他依赖 -->
 
</dependencies>
 

二、配置H2和JPA

接下来,需要在application.propertiesapplication.yml文件中配置H2数据库和JPA的参数。这些参数包括数据库的连接信息、驱动类名、用户名和密码等。

application.properties中配置:

 
properties复制代码
 
 
spring.datasource.url=jdbc:h2:mem:dbtest
 
spring.datasource.driverClassName=org.h2.Driver
 
spring.datasource.username=sa
 
spring.datasource.password=sa
 
spring.datasource.platform=h2
 
spring.jpa.hibernate.ddl-auto=update
 
spring.jpa.show-sql=true
 
spring.h2.console.enabled=true
 
spring.h2.console.path=/h2-console
 

application.yml中配置:

 
yaml复制代码
 
 
spring:
 
datasource:
 
url: jdbc:h2:mem:dbtest
 
driverClassName: org.h2.Driver
 
username: sa
 
password: sa
 
platform: h2
 
jpa:
 
hibernate:
 
ddl-auto: update
 
show-sql: true
 
h2:
 
console:
 
enabled: true
 
path: /h2-console
 

三、创建数据库表和数据

在资源目录(如src/main/resources)下创建schema.sqldata.sql文件,用于定义数据库表结构和初始数据。

schema.sql

 
sql复制代码
 
 
CREATE TABLE IF NOT EXISTS tb_user (
 
USER_ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
 
USER_NAME VARCHAR(100)
 
);
 

data.sql

 
sql复制代码
 
 
INSERT INTO tb_user (USER_ID, USER_NAME) VALUES (1, '赵一');
 

application.propertiesapplication.yml文件中,指定这些SQL文件的路径:

 
properties复制代码
 
 
spring.datasource.schema=classpath:schema.sql
 
spring.datasource.data=classpath:data.sql
 

或者:

 
yaml复制代码
 
 
spring:
 
datasource:
 
schema: classpath:schema.sql
 
data: classpath:data.sql
 

四、创建实体类和Repository接口

创建一个实体类来映射数据库表,并创建一个Repository接口来执行数据访问操作。

实体类(User.java):

 
java复制代码
 
 
package com.example.demo.entity;
 
 
 
import javax.persistence.Entity;
 
import javax.persistence.Id;
 
import javax.persistence.Table;
 
 
 
@Entity
 
@Table(name = "tb_user")
 
public class User {
 
 
 
@Id
 
private Long userId;
 
private String userName;
 
 
 
// Getters and Setters
 
}
 

Repository接口(UserRepository.java):

 
java复制代码
 
 
package com.example.demo.repository;
 
 
 
import com.example.demo.entity.User;
 
import org.springframework.data.jpa.repository.JpaRepository;
 
import org.springframework.stereotype.Repository;
 
 
 
@Repository
 
public interface UserRepository extends JpaRepository<User, Long> {
 
// 自定义查询方法(可选)
 
}
 

五、运行程序并访问H2控制台

启动SpringBoot应用程序,然后访问H2数据库的Web控制台来查看和管理数据库内容。默认情况下,H2控制台的访问URL是//localhost:8080/h2-console(如果端口不是8080,请根据实际情况修改)。在控制台中,输入JDBC URL(如jdbc:h2:mem:dbtest)、用户名(如sa)和密码(如sa)来连接数据库。

六、使用Repository进行数据访问

在Service或Controller层中使用UserRepository进行数据访问操作。例如,查询所有用户:

 
java复制代码
 
 
package com.example.demo.service;
 
 
 
import com.example.demo.entity.User;
 
import com.example.demo.repository.UserRepository;
 
import org.springframework.beans.factory.annotation.Autowired;
 
import org.springframework.stereotype.Service;
 
 
 
import java.util.List;
 
 
 
@Service
 
public class UserService {
 
 
 
@Autowired
 
private UserRepository userRepository;
 
 
 
public List<User> getAllUsers() {
 
return userRepository.findAll();
 
}
 
}
 

在Controller中使用UserService:

 
java复制代码
 
 
package com.example.demo.controller;
 
 
 
import com.example.demo.entity.User;
 
import com.example.demo.service.UserService;
 
import org.springframework.beans.factory.annotation.Autowired;
 
import org.springframework.web.bind.annotation.GetMapping;
 
import org.springframework.web.bind.annotation.RestController;
 
 
 
import java.util.List;
 
 
 
@RestController
 
public class UserController {
 
 
 
@Autowired
 
private UserService userService;
 
 
 
@GetMapping("/users")
 
public List<User> getAllUsers() {
 
return userService.getAllUsers();
 
}
 
}
 

现在,你可以启动SpringBoot应用程序,并访问localhost:8080/users(如果端口不是8080,请根据实际情况修改)来查看所有用户列表。

通过以上步骤,你已经成功在SpringBoot项目中添加了H2内存数据库,并配置了JPA进行数据访问。这为你提供了一个快速开发和测试的环境。

0条评论
0 / 1000
每日知识小分享
873文章数
7粉丝数
每日知识小分享
873 文章 | 7 粉丝
原创

SpringBoot入门-添加内存数据库H2

2025-01-02 09:07:52
79
0

在SpringBoot项目中添加内存数据库H2是一个快速进行开发、测试和验证的好方法。H2是一个用Java编写的嵌入式数据库,它可以嵌入到Java应用程序中,也可以在客户端-服务器模式下运行。以下是在SpringBoot中添加H2内存数据库的步骤:

一、添加H2和JPA的依赖

首先,需要在项目的pom.xml文件中添加H2和Spring Data JPA的依赖。这些依赖将允许你的SpringBoot应用程序与H2数据库进行交互。

 
xml复制代码
 
 
<dependencies>
 
<!-- H2数据库依赖 -->
 
<dependency>
 
<groupId>com.h2database</groupId>
 
<artifactId>h2</artifactId>
 
<scope>runtime</scope>
 
</dependency>
 
<!-- Spring Data JPA依赖 -->
 
<dependency>
 
<groupId>org.springframework.boot</groupId>
 
<artifactId>spring-boot-starter-data-jpa</artifactId>
 
</dependency>
 
<!-- 其他依赖 -->
 
</dependencies>
 

二、配置H2和JPA

接下来,需要在application.propertiesapplication.yml文件中配置H2数据库和JPA的参数。这些参数包括数据库的连接信息、驱动类名、用户名和密码等。

application.properties中配置:

 
properties复制代码
 
 
spring.datasource.url=jdbc:h2:mem:dbtest
 
spring.datasource.driverClassName=org.h2.Driver
 
spring.datasource.username=sa
 
spring.datasource.password=sa
 
spring.datasource.platform=h2
 
spring.jpa.hibernate.ddl-auto=update
 
spring.jpa.show-sql=true
 
spring.h2.console.enabled=true
 
spring.h2.console.path=/h2-console
 

application.yml中配置:

 
yaml复制代码
 
 
spring:
 
datasource:
 
url: jdbc:h2:mem:dbtest
 
driverClassName: org.h2.Driver
 
username: sa
 
password: sa
 
platform: h2
 
jpa:
 
hibernate:
 
ddl-auto: update
 
show-sql: true
 
h2:
 
console:
 
enabled: true
 
path: /h2-console
 

三、创建数据库表和数据

在资源目录(如src/main/resources)下创建schema.sqldata.sql文件,用于定义数据库表结构和初始数据。

schema.sql

 
sql复制代码
 
 
CREATE TABLE IF NOT EXISTS tb_user (
 
USER_ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
 
USER_NAME VARCHAR(100)
 
);
 

data.sql

 
sql复制代码
 
 
INSERT INTO tb_user (USER_ID, USER_NAME) VALUES (1, '赵一');
 

application.propertiesapplication.yml文件中,指定这些SQL文件的路径:

 
properties复制代码
 
 
spring.datasource.schema=classpath:schema.sql
 
spring.datasource.data=classpath:data.sql
 

或者:

 
yaml复制代码
 
 
spring:
 
datasource:
 
schema: classpath:schema.sql
 
data: classpath:data.sql
 

四、创建实体类和Repository接口

创建一个实体类来映射数据库表,并创建一个Repository接口来执行数据访问操作。

实体类(User.java):

 
java复制代码
 
 
package com.example.demo.entity;
 
 
 
import javax.persistence.Entity;
 
import javax.persistence.Id;
 
import javax.persistence.Table;
 
 
 
@Entity
 
@Table(name = "tb_user")
 
public class User {
 
 
 
@Id
 
private Long userId;
 
private String userName;
 
 
 
// Getters and Setters
 
}
 

Repository接口(UserRepository.java):

 
java复制代码
 
 
package com.example.demo.repository;
 
 
 
import com.example.demo.entity.User;
 
import org.springframework.data.jpa.repository.JpaRepository;
 
import org.springframework.stereotype.Repository;
 
 
 
@Repository
 
public interface UserRepository extends JpaRepository<User, Long> {
 
// 自定义查询方法(可选)
 
}
 

五、运行程序并访问H2控制台

启动SpringBoot应用程序,然后访问H2数据库的Web控制台来查看和管理数据库内容。默认情况下,H2控制台的访问URL是//localhost:8080/h2-console(如果端口不是8080,请根据实际情况修改)。在控制台中,输入JDBC URL(如jdbc:h2:mem:dbtest)、用户名(如sa)和密码(如sa)来连接数据库。

六、使用Repository进行数据访问

在Service或Controller层中使用UserRepository进行数据访问操作。例如,查询所有用户:

 
java复制代码
 
 
package com.example.demo.service;
 
 
 
import com.example.demo.entity.User;
 
import com.example.demo.repository.UserRepository;
 
import org.springframework.beans.factory.annotation.Autowired;
 
import org.springframework.stereotype.Service;
 
 
 
import java.util.List;
 
 
 
@Service
 
public class UserService {
 
 
 
@Autowired
 
private UserRepository userRepository;
 
 
 
public List<User> getAllUsers() {
 
return userRepository.findAll();
 
}
 
}
 

在Controller中使用UserService:

 
java复制代码
 
 
package com.example.demo.controller;
 
 
 
import com.example.demo.entity.User;
 
import com.example.demo.service.UserService;
 
import org.springframework.beans.factory.annotation.Autowired;
 
import org.springframework.web.bind.annotation.GetMapping;
 
import org.springframework.web.bind.annotation.RestController;
 
 
 
import java.util.List;
 
 
 
@RestController
 
public class UserController {
 
 
 
@Autowired
 
private UserService userService;
 
 
 
@GetMapping("/users")
 
public List<User> getAllUsers() {
 
return userService.getAllUsers();
 
}
 
}
 

现在,你可以启动SpringBoot应用程序,并访问localhost:8080/users(如果端口不是8080,请根据实际情况修改)来查看所有用户列表。

通过以上步骤,你已经成功在SpringBoot项目中添加了H2内存数据库,并配置了JPA进行数据访问。这为你提供了一个快速开发和测试的环境。

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0