Controller:
@RestController
@RequestMapping("/student_enrollment/class_subject")
public class ClassController {
private ClassService classService;
public ClassController(ClassService classService) {
super();
this.classService = classService;
}
@PostMapping()
public ResponseEntity<Classes> saveClass(@RequestBody Classes classes) {
return new ResponseEntity<Classes>(classService.saveClass(classes),
HttpStatus.CREATED);
}
@GetMapping
public List<Classes> getAllClasses() {
return classService.getAllClasses();
}
model:
@Data
@Entity
@Table(name = "class_subject")
public class ClassSubject {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int subject_id;
@Column(value = "prerequisite")
private String prerequisite;
@Column(value = "max_capacity")
private int max_capacity;
}
service impl:
@Service public class ClassServiceImpl implements ClassService{
@Override
public ClassSubject updateClassSubject(ClassSubject classSubject, int classSubjectId) {
ClassSubject existingClassSubject = classSubjectRepository.findById(classSubjectId).orElseThrow(() -> new ResourceNotFoundException("ClassSubject", "classSubjectId", classSubjectId));
existingClassSubject.setSubject_id(classSubject.getSubject_id());
existingClassSubject.setPrerequisite(classSubject.getPrerequisite());
existingClassSubject.setMax_capacity(classSubject.getMax_capacity());
classSubjectRepository.save(existingClassSubject);
return existingClassSubject;
}
Service:
public interface ClassService {
Classes saveClass(Classes classes);
List<Classes> getAllClasses();
Classes getClassByID(int classId);
Classes updateClass(Classes classes, int classId);
void deleteClass(int classId);
}
SQL Queries:
CREATE TABLE class_subject(
subject_id INT NOT NULL,
prerequisite VARCHAR(30),
max_capacity INT NOT NULL,
PRIMARY KEY (subject_id)
);