h2 database spring
Чтобы настроить проект на Spring для работы с базой данных H2 и сохранить данные на диск, выполните следующие шаги:
1. Добавьте зависимости в ваш проект
Если вы используете Maven, добавьте следующие зависимости в ваш pom.xml
:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.1.214</version> <!-- Убедитесь, что используете последнюю версию -->
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
Если вы используете Gradle, добавьте следующие строки в ваш build.gradle
:
implementation 'com.h2database:h2:2.1.214' // Убедитесь, что используете последнюю версию
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
2. Настройте application.properties
Создайте или отредактируйте файл src/main/resources/application.properties
и добавьте следующие настройки:
# Настройки H2
spring.datasource.url=jdbc:h2:file:./data/mydatabase;AUTO_SERVER=TRUE
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.h2.console.enabled=true
# Настройки JPA
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
3. Создайте сущности и репозитории
Создайте класс-сущность, который будет представлять таблицу в базе данных. Например:
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
// Геттеры и сеттеры
}
Создайте репозиторий для работы с сущностью:
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User, Long> {
}
4. Создайте сервис и контроллер
Создайте сервис для работы с данными:
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> findAll() {
return userRepository.findAll();
}
public User save(User user) {
return userRepository.save(user);
}
}
Создайте контроллер для обработки HTTP-запросов:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping
public List<User> getAllUsers() {
return userService.findAll();
}
@PostMapping
public User createUser(@RequestBody User user) {
return userService.save(user);
}
}
5. Запустите приложение
Теперь вы можете запустить ваше Spring Boot приложение. База данных H2 будет создана на диске в указанном вами месте, и вы сможете взаимодействовать с ней через REST API.
6. Доступ к H2 Console (опционально)
Если вы хотите получить доступ к H2 Console для управления базой данных через веб-интерфейс, добавьте следующую настройку в application.properties
:
spring.h2.console.enabled=true
Теперь вы можете открыть H2 Console по адресу http://localhost:8080/h2-console
и использовать те же параметры подключения, что и в application.properties
.
Теперь ваш проект на Spring настроен для работы с базой данных H2, и данные будут сохраняться на диск.