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

Springboot[1]

The document outlines a Spring Boot application configuration for managing employee data, including properties for database connection and JPA settings. It features a RESTful API with endpoints for creating, retrieving, updating, and deleting employee records, utilizing an Employee model and service layer. Additionally, it includes a Maven POM file specifying dependencies and build configurations for the project.
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)
2 views

Springboot[1]

The document outlines a Spring Boot application configuration for managing employee data, including properties for database connection and JPA settings. It features a RESTful API with endpoints for creating, retrieving, updating, and deleting employee records, utilizing an Employee model and service layer. Additionally, it includes a Maven POM file specifying dependencies and build configurations for the project.
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/ 12

SPRING BOOT

application.properties:
spring.application.name=Springboot428

server.port=9000

spring.datasource.url=jdbc:mysql://
localhost:3306/employee1?
useSSL=false&serverTimezone=UTC
spring.datasource.driver-class-
name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=Excelr@2024

spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-
platform=org.hibernate.dialect.MySQL8Dialect

controller:

package com.example.demo.controller;

import com.example.demo.model.Employee;
import com.example.demo.service.EmployeeService;
import
org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api/employees")
public class EmployeeController {

@Autowired
private EmployeeService employeeService;

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

@GetMapping
public List<Employee> getAllEmployees() {
return employeeService.getAllEmployees();
}
@GetMapping("/{id}")
public ResponseEntity<Employee>
getEmployeeById(@PathVariable Long id) {
return employeeService.getEmployeeById(id)
.map(employee ->
ResponseEntity.ok().body(employee))
.orElse(ResponseEntity.notFound().build());
}

@PutMapping("/{id}")
public ResponseEntity<Employee>
updateEmployee(@PathVariable Long id, @RequestBody
Employee employeeDetails) {
Employee updatedEmployee =
employeeService.updateEmployee(id, employeeDetails);
if (updatedEmployee != null) {
return ResponseEntity.ok(updatedEmployee);
}
return ResponseEntity.notFound().build();
}

@DeleteMapping("/{id}")
public ResponseEntity<Void>
deleteEmployee(@PathVariable Long id) {
employeeService.deleteEmployee(id);
return ResponseEntity.ok().build();
}
}

model:
package com.example.demo.model;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;

@Entity
public class Employee {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String department;
private double salary;

// Constructors, Getters and Setters


public Employee() {}

public Employee(String name, String department, double


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

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;
}
}

Repository:
package com.example.demo.repository;

import com.example.demo.model.Employee;
import
org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface EmployeeRepository extends
JpaRepository<Employee, Long> {
}

service:
package com.example.demo.service;

import com.example.demo.model.Employee;
import com.example.demo.repository.EmployeeRepository;
import
org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Optional;

@Service
public class EmployeeService {

@Autowired
private EmployeeRepository employeeRepository;

public Employee addEmployee(Employee employee) {


return employeeRepository.save(employee);
}

public Employee updateEmployee(Long id, Employee


employeeDetails) {
Optional<Employee> optionalEmployee =
employeeRepository.findById(id);
if (optionalEmployee.isPresent()) {
Employee employee = optionalEmployee.get();
employee.setName(employeeDetails.getName());
employee.setDepartment(employeeDetails.getDepartment())
;
employee.setSalary(employeeDetails.getSalary());
return employeeRepository.save(employee);
}
return null;
}

public void deleteEmployee(Long id) {


employeeRepository.deleteById(id);
}

public List<Employee> getAllEmployees() {


return employeeRepository.findAll();
}

public Optional<Employee> getEmployeeById(Long id) {


return employeeRepository.findById(id);
}
}
pom.xml file:

<?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>3.3.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.excelr</groupId>
<artifactId>Springboot428</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Springboot428</name>
<description>Demo project for Spring Boot</description>
<url/>
<licenses>
<license/>
</licenses>
<developers>
<developer/>
</developers>
<scm>
<connection/>
<developerConnection/>
<tag/>
<url/>
</scm>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper</artifactId>
<version>11.0.0-M20</version>
</dependency>
</dependencies>

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

<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>

</project>

UPDATE
GET/POST

DELETE

You might also like