Springboot: JparePository findbyId не работает? Даже после учета дополнительного класса оберткиJAVA

Программисты JAVA общаются здесь
Anonymous
Springboot: JparePository findbyId не работает? Даже после учета дополнительного класса обертки

Сообщение Anonymous »

Как видите, у меня есть метод FindbyId, который не работает. Хотя метод Findall работает совершенно нормально. < /P>
Вот сообщение об ошибке, которое я получаю: < /p>
java.lang.Error: Unresolved compilation problems:
Optional cannot be resolved to a type
The method findById(Integer) from the type CrudRepository refers to the missing type Optional
< /code>
Я в замешательстве, потому что я использую необязательный класс обертки в других сообщениях StackedOverflow, а также учебник, по которым я следую. Есть идеи, что я делаю не так?package Spring.RestProject.repository;

import org.springframework.data.jpa.repository.JpaRepository;

import Spring.RestProject.entity.Employee;

public interface EmployeeRepository extends JpaRepository {

}
< /code>
employeserservice.java
package Spring.RestProject.service;

import java.util.List;

import Spring.RestProject.entity.Employee;

public interface EmployeeService {
Employee findById(int id);
List findAll();
}
< /code>
employeeServiceImpl.java
package Spring.RestProject.service;

import java.util.List;
import java.util.Optional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import Spring.RestProject.entity.Employee;
import Spring.RestProject.repository.EmployeeRepository;

@Service
public class EmployeeServiceImpl implements EmployeeService {

EmployeeRepository employeeRepository;

@Autowired
public EmployeeServiceImpl (EmployeeRepository employeeRepository) {
this.employeeRepository = employeeRepository;
}

@Override
public Employee findById(int id) {

Optional result = employeeRepository.findById(id);
Employee theEmployee;

if(result.isPresent()) {
theEmployee = result.get();
} else {
return null;
}

return theEmployee;
}

@Override
public List findAll() {
return employeeRepository.findAll();
}
}
< /code>
controller.java
package Spring.RestProject.restcontroller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import Spring.RestProject.entity.Employee;
import Spring.RestProject.service.EmployeeService;

@RestController
@RequestMapping("/api")
public class Controller {

EmployeeService employeeService;

@Autowired
public Controller (EmployeeService employeeService) {
this.employeeService = employeeService;
}

@GetMapping("/employees/{id}")
public Employee findById(@PathVariable int id) {
return employeeService.findById(id);
}

@GetMapping("/employees")
public List findAll () {
return employeeService.findAll();
}

}
< /code>
pom.xml


4.0.0

org.springframework.boot
spring-boot-starter-parent
3.4.2


Spring
RestProject
0.0.1-SNAPSHOT
RestProject
Demo project for Spring Boot














23



org.springframework.boot
spring-boot-starter-data-jpa


org.springframework.boot
spring-boot-starter-web



org.springframework.boot
spring-boot-devtools
runtime
true


com.mysql
mysql-connector-j
runtime


org.springframework.boot
spring-boot-starter-test
test






org.springframework.boot
spring-boot-maven-plugin







Подробнее здесь: https://stackoverflow.com/questions/794 ... for-option

Вернуться в «JAVA»