Java Major Project
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
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:
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.");
}
}