Repository navigation
13. Update Student Feature Backend
Ramesh Fadatare edited this page Jul 26, 2022
·
1 revision
<td>
<a th:href="@{/students/{studentId}/edit(studentId=${student.id})}" class="btn btn-primary">Edit</a>
</td>
// handler method to handle edit student request
@GetMapping("students/{studentId}/edit")
public String editStudent(@PathVariable("studentId") Long studentId,
Model model){
StudentDto student = studentService.getStudentById(studentId);
// add student object to model
model.addAttribute("student", student);
return "edit_student";
} StudentDto getStudentById(Long studentId);
Complete code:
package net.javaguides.sms.service;
import net.javaguides.sms.dto.StudentDto;
import java.util.List;
public interface StudentService {
List<StudentDto> getAllStudents();
void createStudent(StudentDto student);
StudentDto getStudentById(Long studentId);
}
@Override
public StudentDto getStudentById(Long studentId) {
Student student = studentRepository.findById(studentId).get();
StudentDto studentDto = StudentMapper.mapToStudentDto(student);
return studentDto;
}Complete code:
package net.javaguides.sms.service.impl;
import net.javaguides.sms.dto.StudentDto;
import net.javaguides.sms.entity.Student;
import net.javaguides.sms.mapper.StudentMapper;
import net.javaguides.sms.repository.StudentRepository;
import net.javaguides.sms.service.StudentService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class StudentServiceImpl implements StudentService {
private StudentRepository studentRepository;
public StudentServiceImpl(StudentRepository studentRepository) {
this.studentRepository = studentRepository;
}
@Override
public List<StudentDto> getAllStudents() {
List<Student> students = studentRepository.findAll();
List<StudentDto> studentDtos = students.stream()
.map((student) -> StudentMapper.mapToStudentDto(student))
.collect(Collectors.toList());
return studentDtos;
}
@Override
public void createStudent(StudentDto studentDto) {
Student student = StudentMapper.mapToStudent(studentDto);
studentRepository.save(student);
}
@Override
public StudentDto getStudentById(Long studentId) {
Student student = studentRepository.findById(studentId).get();
StudentDto studentDto = StudentMapper.mapToStudentDto(student);
return studentDto;
}
}