From 275b2d5d011e510b50350a76ff52dc3ecebbaa82 Mon Sep 17 00:00:00 2001 From: Bhaba Sagar Date: Mon, 30 Dec 2024 17:41:31 +0530 Subject: [PATCH 1/3] Add a Standardize Code,Enhance Coding style --- emp_backend/pom.xml | 7 +- .../example/demo/adminModel/adminModel.java | 36 ++----- .../demo/controller/EmployeeController.java | 101 +++++++----------- .../com/example/demo/dto/EmployeeDto.java | 36 +++++++ .../java/com/example/demo/model/Employee.java | 74 +++---------- .../example/demo/service/EmployeeService.java | 21 ++++ .../service/EmployeeServiceImplements.java | 72 +++++++++++++ .../src/main/resources/application.properties | 15 ++- 8 files changed, 204 insertions(+), 158 deletions(-) create mode 100644 emp_backend/src/main/java/com/example/demo/dto/EmployeeDto.java create mode 100644 emp_backend/src/main/java/com/example/demo/service/EmployeeService.java create mode 100644 emp_backend/src/main/java/com/example/demo/service/EmployeeServiceImplements.java diff --git a/emp_backend/pom.xml b/emp_backend/pom.xml index 74ea9e2..028f14f 100644 --- a/emp_backend/pom.xml +++ b/emp_backend/pom.xml @@ -44,7 +44,12 @@ - + + org.projectlombok + lombok + provided + + javax.persistence diff --git a/emp_backend/src/main/java/com/example/demo/adminModel/adminModel.java b/emp_backend/src/main/java/com/example/demo/adminModel/adminModel.java index e93b76b..a7d8773 100644 --- a/emp_backend/src/main/java/com/example/demo/adminModel/adminModel.java +++ b/emp_backend/src/main/java/com/example/demo/adminModel/adminModel.java @@ -8,20 +8,22 @@ import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Table; - +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +@ToString @Entity @Table(name="admin") public class adminModel { - public adminModel() {} - - public adminModel(String adminName, String adminPassword) { - super(); - this.adminName = adminName; - this.adminPassword = adminPassword; - } @Id @@ -37,24 +39,6 @@ public adminModel(String adminName, String adminPassword) { - public long getAdminID() { - return adminID; - } - public void setAdminID(long adminID) { - this.adminID = adminID; - } - public String getAdminName() { - return adminName; - } - public void setAdminName(String adminName) { - this.adminName = adminName; - } - public String getAdminPassword() { - return adminPassword; - } - public void setAdminPassword(String adminPassword) { - this.adminPassword = adminPassword; - } diff --git a/emp_backend/src/main/java/com/example/demo/controller/EmployeeController.java b/emp_backend/src/main/java/com/example/demo/controller/EmployeeController.java index 60deb6a..4cafbeb 100644 --- a/emp_backend/src/main/java/com/example/demo/controller/EmployeeController.java +++ b/emp_backend/src/main/java/com/example/demo/controller/EmployeeController.java @@ -1,6 +1,6 @@ package com.example.demo.controller; -import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.DeleteMapping; @@ -12,95 +12,66 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.example.demo.dto.EmployeeDto; import com.example.demo.exception.ResourceNotFoundException; import com.example.demo.model.Employee; import com.example.demo.repository.EmployeeRepository; +import com.example.demo.service.EmployeeService; + +import lombok.RequiredArgsConstructor; import java.util.HashMap; import java.util.List; import java.util.Map; +@RequiredArgsConstructor @RestController @RequestMapping("/api/v1/") public class EmployeeController { - @Autowired private EmployeeRepository employeeRepository; - - //get all data + private final EmployeeService employeeService; + + // get all data @CrossOrigin(origins = "http://localhost:4200") @GetMapping("/employees") - public List getAllEmployees(){ - return employeeRepository.findAll(); - } - - - - //create + public List getAllEmployees() { + return employeeService.findAllEmployee(); + } + + // create @CrossOrigin(origins = "http://localhost:4200") @PostMapping("/employees") - public Employee createEmployee(@RequestBody Employee employee) + public Employee createEmployee(@RequestBody EmployeeDto employee) + { - return employeeRepository.save(employee); + return employeeService.addEmployee(employee); } - - - // get data by id + + // get data by id @CrossOrigin(origins = "http://localhost:4200") @GetMapping("/employees/{id}") public ResponseEntity getByID(@PathVariable Long id) { - Employee employee = employeeRepository.findById(id). - orElseThrow(()-> new ResourceNotFoundException("Employee with id "+id+"does not exists")); - return ResponseEntity.ok(employee); + return new ResponseEntity<>(employeeService.getEmployeeById(id), HttpStatus.OK); + } - - - //update data + + // update data @CrossOrigin(origins = "http://localhost:4200") - @PutMapping ("/employees/{id}") - public ResponseEntity updateEmployeeByID(@PathVariable Long id, @RequestBody Employee employeeDetails){ - Employee employee = employeeRepository.findById(id). - orElseThrow(()-> new ResourceNotFoundException("Employee with id "+id+"does not exists")); - - - employee.setFname(employeeDetails.getFname()); - employee.setLname(employeeDetails.getLname()); - employee.setEmail(employeeDetails.getEmail()); - employee.setDepartment(employeeDetails.getDepartment()); - employee.setDesignation(employeeDetails.getDesignation()); - employee.setJoiningDate(employeeDetails.getJoiningDate()); - employee.setSalary(employeeDetails.getSalary()); - - Employee updatedEmployee=employeeRepository.save(employee); - - return ResponseEntity.ok(updatedEmployee); -} - - - + @PutMapping("/employees/{id}") + public ResponseEntity updateEmployeeByID(@PathVariable Long id, + @RequestBody EmployeeDto employeeDetails) { + return new ResponseEntity<>(employeeService.updateEmployee(id, employeeDetails), HttpStatus.OK); + } + @CrossOrigin(origins = "http://localhost:4200") @DeleteMapping("/employees/{id}") - public ResponseEntity >deleteEmployee(@PathVariable Long id){ - - - Employee employee = employeeRepository.findById(id). - orElseThrow(()-> new ResourceNotFoundException("Employee with id "+id+"does not exists")); - - employeeRepository.delete(employee); - - Map response = new HashMap<>(); + public ResponseEntity> deleteEmployee(@PathVariable Long id) { + employeeService.deleteEmployee(id); + Map response = new HashMap<>(); response.put("Deleted", Boolean.TRUE); - return ResponseEntity.ok(response); - -} - - - - - - - - - - + return new ResponseEntity<>(response,HttpStatus.OK); + + } + } \ No newline at end of file diff --git a/emp_backend/src/main/java/com/example/demo/dto/EmployeeDto.java b/emp_backend/src/main/java/com/example/demo/dto/EmployeeDto.java new file mode 100644 index 0000000..e39c20f --- /dev/null +++ b/emp_backend/src/main/java/com/example/demo/dto/EmployeeDto.java @@ -0,0 +1,36 @@ +package com.example.demo.dto; + +import java.time.LocalDate; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +@ToString +@Builder +public class EmployeeDto { + + + private long id; + + private String fname; + + private String lname; + + private String email; + + private long salary; + + private String department; + + private String designation; + + private LocalDate joiningDate; +} diff --git a/emp_backend/src/main/java/com/example/demo/model/Employee.java b/emp_backend/src/main/java/com/example/demo/model/Employee.java index 7d5a853..5ea6f68 100644 --- a/emp_backend/src/main/java/com/example/demo/model/Employee.java +++ b/emp_backend/src/main/java/com/example/demo/model/Employee.java @@ -5,28 +5,27 @@ import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Table; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; import jakarta.persistence.Column; - +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +@ToString +@Builder @Entity @Table(name="employees_table") public class Employee { - public Employee() {} - public Employee(String fname, String lname, String email, long salary, String department, String designation, - LocalDate joiningDate) { - super(); - this.fname = fname; - this.lname = lname; - this.email = email; - this.salary = salary; - this.department = department; - this.designation = designation; - this.joiningDate = joiningDate; - } @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -53,54 +52,7 @@ public Employee(String fname, String lname, String email, long salary, String de @Column(name="jd") private LocalDate joiningDate; - public long getId() { - return id; - } - public void setId(long id) { - this.id = id; - } - public String getFname() { - return fname; - } - public void setFname(String fname) { - this.fname = fname; - } - public String getLname() { - return lname; - } - public void setLname(String lname) { - this.lname = lname; - } - public String getEmail() { - return email; - } - public void setEmail(String email) { - this.email = email; - } - public long getSalary() { - return salary; - } - public void setSalary(long salary) { - this.salary = salary; - } - public String getDepartment() { - return department; - } - public void setDepartment(String department) { - this.department = department; - } - public String getDesignation() { - return designation; - } - public void setDesignation(String designation) { - this.designation = designation; - } - public LocalDate getJoiningDate() { - return joiningDate; - } - public void setJoiningDate(LocalDate joiningDate) { - this.joiningDate = joiningDate; - } + diff --git a/emp_backend/src/main/java/com/example/demo/service/EmployeeService.java b/emp_backend/src/main/java/com/example/demo/service/EmployeeService.java new file mode 100644 index 0000000..08bdcc3 --- /dev/null +++ b/emp_backend/src/main/java/com/example/demo/service/EmployeeService.java @@ -0,0 +1,21 @@ +package com.example.demo.service; + +import java.util.List; + +import com.example.demo.dto.EmployeeDto; +import com.example.demo.model.Employee; + +public interface EmployeeService { + + List findAllEmployee(); + + Employee addEmployee(EmployeeDto employee); + + Employee updateEmployee(Long id, EmployeeDto employeeDetails); + + Employee getEmployeeById(Long id); + + Employee deleteEmployee(Long id); + + +} diff --git a/emp_backend/src/main/java/com/example/demo/service/EmployeeServiceImplements.java b/emp_backend/src/main/java/com/example/demo/service/EmployeeServiceImplements.java new file mode 100644 index 0000000..097d56c --- /dev/null +++ b/emp_backend/src/main/java/com/example/demo/service/EmployeeServiceImplements.java @@ -0,0 +1,72 @@ +package com.example.demo.service; + +import java.util.List; + +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import com.example.demo.dto.EmployeeDto; +import com.example.demo.exception.ResourceNotFoundException; +import com.example.demo.model.Employee; +import com.example.demo.repository.EmployeeRepository; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@RequiredArgsConstructor +@Service +public class EmployeeServiceImplements implements EmployeeService { + + private final EmployeeRepository employeeRepository; + + @Override + public List findAllEmployee() { + return employeeRepository.findAll(); + } + + @Override + public Employee addEmployee(EmployeeDto employeeDto) { + Employee employee = new Employee(); + try { + BeanUtils.copyProperties(employeeDto, employee); + employeeRepository.save(employee); + return employee; + } catch (Exception e) { + log.error(e.getMessage()); + } + return employee; + } + + @Override + public Employee updateEmployee(Long id, EmployeeDto employeeDetails) { + Employee employee = new Employee(); + try { + employee = employeeRepository.findById(id) + .orElseThrow(() -> new ResourceNotFoundException("Employee with id " + id + "does not exists")); + employee = Employee.builder().id(id).fname(employeeDetails.getFname()).lname(employeeDetails.getLname()) + .email(employeeDetails.getEmail()).salary(employeeDetails.getSalary()) + .department(employeeDetails.getDepartment()).designation(employeeDetails.getDesignation()) + .joiningDate(employeeDetails.getJoiningDate()).build(); + } catch (Exception e) { + log.error(e.getMessage()); + } + return employee; + } + + @Override + public Employee getEmployeeById(Long id) { + return employeeRepository.findById(id) + .orElseThrow(() -> new ResourceNotFoundException("Employee with id " + id + "does not exists")); + } + + @Override + public Employee deleteEmployee(Long id) { + Employee employee = employeeRepository.findById(id) + .orElseThrow(() -> new ResourceNotFoundException("Employee with id " + id + "does not exists")); + + employeeRepository.delete(employee); + return employee; + } + +} diff --git a/emp_backend/src/main/resources/application.properties b/emp_backend/src/main/resources/application.properties index d305ed9..c430266 100644 --- a/emp_backend/src/main/resources/application.properties +++ b/emp_backend/src/main/resources/application.properties @@ -1,8 +1,13 @@ -spring.datasource.url=jdbc:mysql://localhost:3306/emp -spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver -spring.datasource.username=root -spring.datasource.password= "\\enter your password" -spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect +#spring.datasource.url=jdbc:mysql://localhost:3306/emp +#spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver +#spring.datasource.username=root +#spring.datasource.password= "\\enter your password" +#spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect + +spring.datasource.url= jdbc:mysql://localhost:3306/college +spring.datasource.username=root +spring.datasource.password=Bhaba@2002 +spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto = update From be71263817b722c10f935f8a72a7dc1005b53b11 Mon Sep 17 00:00:00 2001 From: Bhaba Sagar Date: Mon, 30 Dec 2024 17:46:28 +0530 Subject: [PATCH 2/3] d --- .../src/main/resources/application.properties | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/emp_backend/src/main/resources/application.properties b/emp_backend/src/main/resources/application.properties index c430266..d305ed9 100644 --- a/emp_backend/src/main/resources/application.properties +++ b/emp_backend/src/main/resources/application.properties @@ -1,13 +1,8 @@ -#spring.datasource.url=jdbc:mysql://localhost:3306/emp -#spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver -#spring.datasource.username=root -#spring.datasource.password= "\\enter your password" -#spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect - - -spring.datasource.url= jdbc:mysql://localhost:3306/college +spring.datasource.url=jdbc:mysql://localhost:3306/emp +spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver spring.datasource.username=root -spring.datasource.password=Bhaba@2002 -spring.jpa.show-sql=true +spring.datasource.password= "\\enter your password" +spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect + spring.jpa.hibernate.ddl-auto = update From af89b625ddd1301ed9c344050a52408515b88d98 Mon Sep 17 00:00:00 2001 From: Bhaba Sagar Date: Mon, 30 Dec 2024 17:58:39 +0530 Subject: [PATCH 3/3] remove the autowired of repo --- .../java/com/example/demo/controller/EmployeeController.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/emp_backend/src/main/java/com/example/demo/controller/EmployeeController.java b/emp_backend/src/main/java/com/example/demo/controller/EmployeeController.java index 4cafbeb..b41c01d 100644 --- a/emp_backend/src/main/java/com/example/demo/controller/EmployeeController.java +++ b/emp_backend/src/main/java/com/example/demo/controller/EmployeeController.java @@ -13,9 +13,7 @@ import org.springframework.web.bind.annotation.RestController; import com.example.demo.dto.EmployeeDto; -import com.example.demo.exception.ResourceNotFoundException; import com.example.demo.model.Employee; -import com.example.demo.repository.EmployeeRepository; import com.example.demo.service.EmployeeService; import lombok.RequiredArgsConstructor; @@ -29,7 +27,6 @@ @RequestMapping("/api/v1/") public class EmployeeController { - private EmployeeRepository employeeRepository; private final EmployeeService employeeService; // get all data