Не видно начальные данные таблицы
решил тут потыкать палочкой в Java, а точнее посмотреть курс. Там было задание - создать небольшое Java приложение на основе Spring Boot (просмотр людей в таблице, добавление человека в таблицу и вывод людей, чей возраст выше указанного). Путём просмотра видеоматериала с курса и интернета что-то у меня получилось, пользователи добавляются и выводятся, но есть проблема: 5 пользователей, что были в изначальной таблице не видны. Ниже прилагаю код и скрины.
ExamApplication.Java
package com.example.Exam;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ExamApplication {
public static void main(String[] args) {
SpringApplication.run(ExamApplication.class, args);
}
}
clUser.java
package com.example.Exam.model;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.Table;
@Entity
@Table(name = "tUsers")
public class clUser {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String firstName;
private Integer age;
@Enumerated(EnumType.STRING)
private Country country;
// Геттеры и сеттеры
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Country getCountry() {
return country;
}
public void setCountry(Country country) {
this.country = country;
}
}
UserController.java
package com.example.Exam.controller;
import com.example.Exam.model.clUser;
import com.example.Exam.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/eluser-api/v1")
public class UserController {
@Autowired
private UserService eluserService;
@GetMapping("/tUsers")
public ResponseEntity<List<clUser>> getAllUsers() {
List<clUser> tUsers = eluserService.findAllUsers();
return new ResponseEntity<>(tUsers, HttpStatus.OK);
}
@PostMapping("/tUsers")
public ResponseEntity<clUser> addUser(@RequestBody clUser eluser) {
if (eluser == null) {
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
}
clUser createdUser = eluserService.addUser(eluser);
return new ResponseEntity<>(createdUser, HttpStatus.CREATED);
}
@GetMapping("/additional-info")
public ResponseEntity<List<clUser>> getUsersByAge(@RequestParam("age") Integer age) {
List<clUser> tUsers = eluserService.findUsersByAgeGreaterThanEqual(age);
return new ResponseEntity<>(tUsers, HttpStatus.OK);
}
}
UserRepository.java
package com.example.Exam.repository;
import com.example.Exam.model.clUser;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface UserRepository extends JpaRepository<clUser, Long> {
List<clUser> findByAgeGreaterThanEqualOrderByFirstName(Integer age);
}
UserService.java
package com.example.Exam.service;
import com.example.Exam.model.clUser;
import com.example.Exam.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 eluserRepository;
public List<clUser> findAllUsers() {
return eluserRepository.findAll();
}
public clUser addUser(clUser eluser) {
return eluserRepository.save(eluser);
}
public List<clUser> findUsersByAgeGreaterThanEqual(Integer age) {
return eluserRepository.findByAgeGreaterThanEqualOrderByFirstName(age);
}
}
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.3</version>
<relativePath/> <!-- lookup parent from repository-->
</parent>
<groupId>com.example</groupId>
<artifactId>Exam</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Exam</name>
<description>Last Exam</description>
<properties>
<java.version>21</java.version>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
</properties>
<dependencies>
<!-- Spring Boot Starter Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Boot Starter Data JPA with Jakarta Persistence -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- H2 Database -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>jakarta.persistence</groupId>
<artifactId>jakarta.persistence-api</artifactId>
</dependency>
<!-- Spring Boot Starter Test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
application.properties
spring.application.name=Exam
server.port=8081
spring.datasource.url=jdbc:h2:mem:testes
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
server.error.whitelabel.enabled=false
spring.jpa.open-in-view=false
spring.jpa.hibernate.dll-auto=update
spring.datasource.initialization-mode=always
sql файл
-- Создание таблицы пользователей
CREATE TABLE tUsers (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(255) NOT NULL,
age INT NOT NULL,
country VARCHAR(255) NOT NULL
);
-- Вставка начальных данных
INSERT INTO tUsers (first_name, age, country) VALUES ('John', 25, 'USA');
INSERT INTO tUsers (first_name, age, country) VALUES ('Anna', 30, 'Mexico');
INSERT INTO tUsers (first_name, age, country) VALUES ('Mike', 22, 'Canada');
INSERT INTO tUsers (first_name, age, country) VALUES ('Emily', 29, 'UK');
INSERT INTO tUsers (first_name, age, country) VALUES ('Sophia', 24, 'France');
Вероятно (иначе бы работало как надо), я где-то ошибся. Если кто-то подскажет, что не так, то буду очень признателен. Стоит JDK 21