0% found this document useful (0 votes)
16 views

Spring Assign

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Spring Assign

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Application.

java

package com.springboot.crud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

public static void main(String[] args) {


SpringApplication.run(Application.class, args);
}

Exployees.java

package com.springboot.crud;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "employees")
public class Employee {

@Id
private Long id;

private String name;


private String department;
private double salary;

// Constructors
public Employee() {
}

public Employee(String name, String department, double salary) {


this.name = name;
this.department = department;
this.salary = salary;
}

// Getters and setters


public Long getId() {
return id;
}

public void setId(Long id) {


this.id = id;
}

public String getName() {


return name;
}

public void setName(String name) {


this.name = name;
}

public String getDepartment() {


return department;
}

public void setDepartment(String department) {


this.department = department;
}

public double getSalary() {


return salary;
}

public void setSalary(double salary) {


this.salary = salary;
}

// toString() method
@Override
public String toString() {
return "Employee{" +
"id=" + id +
", name='" + name + '\'' +
", department='" + department + '\'' +
", salary=" + salary +
'}';
}
}

EmployeeController.java

package com.springboot.crud;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/employees")
public class EmployeeController {

@Autowired
private EmployeeService employeeService;

@GetMapping
public List<Employee> getAllEmployees() {
return employeeService.getAllEmployees();
}

@GetMapping("/{id}")
public Employee getEmployeeById(@PathVariable Long id) {
return employeeService.getEmployeeById(id);
}

@PostMapping
public Employee addEmployee(@RequestBody Employee employee) {
return employeeService.addEmployee(employee);
}

@PutMapping("/{id}")
public Employee updateEmployee(@PathVariable Long id, @RequestBody
Employee employee) {
return employeeService.updateEmployee(id, employee);
}

@DeleteMapping("/{id}")
public void deleteEmployee(@PathVariable Long id) {
employeeService.deleteEmployee(id);
}
}

EmployeeRepository.java

package com.springboot.crud;
import org.springframework.data.jpa.repository.JpaRepository;

public interface EmployeeRepository extends JpaRepository<Employee, Long> {


}

EmployeeService.java

package com.springboot.crud;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class EmployeeService {

@Autowired
private EmployeeRepository employeeRepository;

public List<Employee> getAllEmployees() {


return employeeRepository.findAll();
}

public Employee getEmployeeById(Long id) {


return employeeRepository.findById(id).orElse(null);
}

public Employee addEmployee(Employee employee) {


return employeeRepository.save(employee);
}

public Employee updateEmployee(Long id, Employee updatedEmployee) {


Employee existingEmployee =
employeeRepository.findById(id).orElse(null);
if (existingEmployee != null) {
existingEmployee.setName(updatedEmployee.getName());

existingEmployee.setDepartment(updatedEmployee.getDepartment());
existingEmployee.setSalary(updatedEmployee.getSalary());
return employeeRepository.save(existingEmployee);
}
return null;
}

public void deleteEmployee(Long id) {


employeeRepository.deleteById(id);
}
}

application.properties

spring.application.name=com.springboot.crud
# Database Configuration
spring.datasource.url=jdbc:mysql://localhost:3306/employee_db
spring.datasource.username=root
spring.datasource.password=SQLserver@123

# Hibernate Configuration
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.jpa.show-sql=true
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>2.6.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.springboot</groupId>
<artifactId>com.springboot.crud</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>com.springboot.crud</name>
<description>Assignment</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- Spring Boot Starter Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MySQL Driver -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>2.2</version> <!-- or the latest version -->
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>
MySQL Database

POST Method:
URL: http://localhost:8080/employees
GET Method:
URL: http://localhost:8080/employees

Delete Method:
URL: http://localhost:8080/employees/1
PUT Method:
URL: http://localhost:8080/employees/2

You might also like