Skip to content
Snippets Groups Projects
Staff.java 3.32 KiB
Newer Older
  • Learn to ignore specific revisions
  • /*
    This class facilitates the communication between the model and the mysql database, for staff purposes.
    */
    
    
    eyan_'s avatar
    eyan_ committed
    package com.example.schedulerapp;
    
    
    eyan_'s avatar
    eyan_ committed
    public class Staff {
    
    
        // Object that facilitates the connection to the database
    
        Name: Staff Constructor
        Parameters: None
        Description: Establishes connections to the local database. If running on a different computer
        make sure that the port number (replace '3306'), database name (replace 'ScheduleApp'), user, and password are
        set correctly.
        Return: Staff Object
    
        protected Staff(Connection c) {
            this.dbConnection = c;
    
        Name: addEmployee
        Parameters:
            String firstName: First name of the employee,
            String lastName: Last name of the employee .
        Description: Adds an employee by querying the database. Also, assigns a unique ID.
    
        Return:
            String newEmployee: If the employee was added successfully, then it returns their new details, else returns an empty string.
    
        protected String addEmployee(String firstName, String lastName){
            String newEmployee = "";
    
                Statement myStatement = dbConnection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    
                myStatement.executeUpdate("insert into Employees (first_name,last_name) values ('" + firstName + "', '" + lastName + "')");
    
                ResultSet myRs = myStatement.executeQuery("select * from Employees where first_name='Rafi' and last_name='Zereselasie'");
                if (myRs.last()) {
                    newEmployee = myRs.getString("employee_ID") + "." + myRs.getString("first_name") + "." + myRs.getString("last_name");
                }
            } catch (Exception exception) {
                exception.printStackTrace();
                return newEmployee;
    
        /*
        Name: removeEmployee
        Parameters:
            int ID: The employees unique ID.
        Description: Removes the employee with the same ID by querying the database.
        Return: none
         */
    
            try {
                Statement myStatement = dbConnection.createStatement();
                myStatement.executeUpdate("delete from Employees where employee_id = " + ID);
    
            } catch (Exception exception) {
                exception.printStackTrace();
                return -1;
    
        Name: printEmployees
        Parameters: none
        Description: prints the id, and names of each employee
        Return: none
    
        protected String getEmployees(){
    
            StringBuilder response = new StringBuilder("allEmployees");
    
            try {
                Statement myStatement = dbConnection.createStatement();
                ResultSet myRs = myStatement.executeQuery("select * from Employees");
                while (myRs.next()) {
    
                    response.append("/").append(myRs.getString("employee_ID")).append(".").append(myRs.getString("first_name")).append(".").append(myRs.getString("last_name"));
    
            } catch (Exception exception) {
                exception.printStackTrace();
                return "Error retrieving employees from database";
    
    eyan_'s avatar
    eyan_ committed
    }