Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
47 views11 pages

Java Major Project

The document describes a Java program for managing employee data using an object-oriented approach. It includes Employee, EmployeeDao, and EmployeeService classes that allow creating, retrieving, updating, and deleting employee records from a database table using JDBC.

Uploaded by

D46-Ramya M
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)
47 views11 pages

Java Major Project

The document describes a Java program for managing employee data using an object-oriented approach. It includes Employee, EmployeeDao, and EmployeeService classes that allow creating, retrieving, updating, and deleting employee records from a database table using JDBC.

Uploaded by

D46-Ramya M
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/ 11

Java Major Project

Name- Ramya M
USN - 1DS20IS078

Employee.java

package com.employermanagement.system.model;
public class Employee {
private int employeeId;
private String name;
private double salary;
private String email;
public Employee() {
}
public Employee(int employeeId, String name, double salary, String email) {
this.employeeId = employeeId;
this.name = name;
this.salary = salary;
this.email = email;
}
public int getEmployeeId() {
return employeeId;
}
public void setEmployeeId(int employeeId) {
this.employeeId = employeeId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "Employee{" +
"employeeId=" + employeeId +
", name='" + name + '\'' +
", salary=" + salary +
", email='" + email + '\'' +
'}';
}
}

EmployeeDao.java
package com.employermanagement.system.dao;
import com.employermanagement.system.model.Employee;
import java.util.List;
public interface EmployeeDao {
void createEmployeeTable();
void insertEmployee(Employee employee);
List<Employee> selectAllEmployees();
void updateEmployee(Employee employee);
void deleteEmployee(int employeeId);
void createEmployeeNameProcedure();
Employee getTopSalariedEmployee();
}

EmployeeDaoImpl.java

package com.employermanagement.system.dao;
import com.employermanagement.system.model.Employee;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class EmployeeDaoImpl implements EmployeeDao {
private static final String URL = "jdbc:oracle:thin:@localhost:1522:xe";
private static final String USERNAME = "system";
private static final String PASSWORD = "SYS";
@Override
public void createEmployeeTable() {
try (Connection conn = DriverManager.getConnection(URL, USERNAME,
PASSWORD);
Statement stmt = conn.createStatement()) {
String sql = "CREATE TABLE Employee (" +
"employeeId INT PRIMARY KEY," +
"name VARCHAR(255)," +
"salary NUMBER," +
"email VARCHAR(255)" +
")";
stmt.executeUpdate(sql);
System.out.println("Employee table created successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public void insertEmployee(Employee employee) {
try (Connection conn = DriverManager.getConnection(URL, USERNAME,
PASSWORD);
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO
Employee VALUES (?, ?, ?, ?)")) {
pstmt.setInt(1, employee.getEmployeeId());
pstmt.setString(2, employee.getName());
pstmt.setDouble(3, employee.getSalary());
pstmt.setString(4, employee.getEmail());
pstmt.executeUpdate();
System.out.println("Employee record inserted successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public List<Employee> selectAllEmployees() {
List<Employee> employees = new ArrayList<>();
try (Connection conn = DriverManager.getConnection(URL, USERNAME,
PASSWORD);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM Employee")) {
while (rs.next()) {
Employee employee = new Employee();
employee.setEmployeeId(rs.getInt("employeeId"));
employee.setName(rs.getString("name"));
employee.setSalary(rs.getDouble("salary"));
employee.setEmail(rs.getString("email"));
employees.add(employee);
}
} catch (SQLException e) {
e.printStackTrace();
}
return employees;
}
@Override
public void updateEmployee(Employee employee) {
try (Connection conn = DriverManager.getConnection(URL, USERNAME,
PASSWORD);
PreparedStatement pstmt = conn.prepareStatement("UPDATE Employee
SET name=?, salary=?, email=? WHERE employeeId=?")) {
pstmt.setString(1, employee.getName());
pstmt.setDouble(2, employee.getSalary());
pstmt.setString(3, employee.getEmail());
pstmt.setInt(4, employee.getEmployeeId());
pstmt.executeUpdate();
System.out.println("Employee record updated successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public void deleteEmployee(int employeeId) {
try (Connection conn = DriverManager.getConnection(URL, USERNAME,
PASSWORD);
PreparedStatement pstmt = conn.prepareStatement("DELETE FROM
Employee WHERE employeeId=?")) {
pstmt.setInt(1, employeeId);
pstmt.executeUpdate();
System.out.println("Employee record deleted successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override

public void createEmployeeNameProcedure() {


try (Connection conn = DriverManager.getConnection(URL, USERNAME,
PASSWORD);
Statement stmt = conn.createStatement()) {
String sql = "CREATE OR REPLACE PROCEDURE get_employee_name_by_id
(p_employee_id IN NUMBER, p_employee_name OUT VARCHAR2) "
+ "AS "
+ "BEGIN "
+ " SELECT name INTO p_employee_name FROM Employee WHERE
employeeId = p_employee_id; "
+ "END;";
stmt.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public Employee getTopSalariedEmployee() {
Employee topSalariedEmployee = null;
String query = "SELECT * FROM Employee ORDER BY salary DESC FETCH FIRST
1 ROW ONLY";
try (Connection conn = DriverManager.getConnection(URL, USERNAME,
PASSWORD);
PreparedStatement pstmt = conn.prepareStatement(query);
ResultSet rs = pstmt.executeQuery()) {
if (rs.next()) {

int employeeId = rs.getInt("employeeId");


String name = rs.getString("name");
double salary = rs.getDouble("salary");
String email = rs.getString("email");

topSalariedEmployee = new Employee(employeeId, name, salary,


email);
}
} catch (SQLException e) {
e.printStackTrace();
}
return topSalariedEmployee;
}

EmployeeService.java

package com.employermanagement.system.service;
import com.employermanagement.system.dao.EmployeeDao;
import com.employermanagement.system.dao.EmployeeDaoImpl;
import com.employermanagement.system.model.Employee;
import java.util.List;
import java.util.Scanner;
public class EmployeeService {
private EmployeeDao employeeDao;
public EmployeeService() {
this.employeeDao = new EmployeeDaoImpl();
}
public boolean authenticate(String username, String password) {
if (username.equals("Ramya") && password.equals("123")) {
return true;
} else {
return false;
}
}
public void performAction(int option) {
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
switch (option) {
case 1:
employeeDao.createEmployeeTable();
break;
case 2:
System.out.println("Enter employee details:");
System.out.print("Employee ID: ");
int empId = scanner.nextInt();
scanner.nextLine();
System.out.print("Name: ");
String name = scanner.nextLine();
System.out.print("Salary: ");
double salary = scanner.nextDouble();
scanner.nextLine();
System.out.print("Email: ");
String email = scanner.nextLine();
Employee employee = new Employee(empId, name, salary, email);
employeeDao.insertEmployee(employee);
break;
case 3:
List<Employee> employees = employeeDao.selectAllEmployees();
System.out.println("All Employees:");
for (Employee emp : employees) {
System.out.println(emp);
}
break;
case 4:

System.out.print("Enter employee ID to update: ");


int idToUpdate = scanner.nextInt();
scanner.nextLine(); // Consume newline
Employee employeeToUpdate =
employeeDao.selectAllEmployees().stream()
.filter(emp -> emp.getEmployeeId() == idToUpdate)
.findFirst().orElse(null);
if (employeeToUpdate != null) {
System.out.println("Enter updated details for employee ID "
+ idToUpdate + ":");
System.out.print("Name: ");
String updatedName = scanner.nextLine();
System.out.print("Salary: ");
double updatedSalary = scanner.nextDouble();
scanner.nextLine();
System.out.print("Email: ");
String updatedEmail = scanner.nextLine();
employeeToUpdate.setName(updatedName);
employeeToUpdate.setSalary(updatedSalary);
employeeToUpdate.setEmail(updatedEmail);
employeeDao.updateEmployee(employeeToUpdate);
} else {
System.out.println("Employee with ID " + idToUpdate + " not
found.");
}
break;
case 5:
System.out.print("Enter employee ID to delete: ");
int idToDelete = scanner.nextInt();
employeeDao.deleteEmployee(idToDelete);
break;
case 6:
System.out.println("Creating stored procedure..");
employeeDao.createEmployeeNameProcedure();
System.out.println("Stored procedure created successfully.");
break;

case 7:
// Read the details of the top salaried employee
Employee topSalariedEmployee =
employeeDao.getTopSalariedEmployee();
if (topSalariedEmployee != null) {
System.out.println("Details of the top salaried
employee:");
System.out.println("Employee ID: " +
topSalariedEmployee.getEmployeeId());
System.out.println("Name: " +
topSalariedEmployee.getName());
System.out.println("Salary: " +
topSalariedEmployee.getSalary());
System.out.println("Email: " +
topSalariedEmployee.getEmail());
} else {
System.out.println("No employees found.");
}
break;
default:
System.out.println("Invalid option. Please choose a valid
option.");
}
}

public static void main(String[] args) {


EmployeeService employeeService = new EmployeeService();
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
System.out.println("Enter username:");
String username = scanner.nextLine();
System.out.println("Enter password:");
String password = scanner.nextLine();
if (!employeeService.authenticate(username, password)) {
System.out.println("Authentication failed!");
return;
}
System.out.println("Authentication successful!");
while (true) {
System.out.println("\nSelect an option:");
System.out.println("1) Create Employee table");
System.out.println("2) Insert Record for employees");
System.out.println("3) Select all employee details");
System.out.println("4) Update the employee details for a particular
employee");
System.out.println("5) Delete the details of a particular
employee");
System.out.println("6) Create a stored procedure in Oracle to
return the name of an employee by giving the id");
System.out.println("7)Read the details of the top salaried employee");
System.out.println("0) Exit");
int option = scanner.nextInt();
if (option == 0) {
System.out.println("Exiting...");
break;
}
employeeService.performAction(option);
}
}
}

You might also like