Newer
Older
Rafi Zereselasie (raz070)
committed
/*
This class facilitates the communication between the model and the mysql database, for staff purposes.
*/
Rafi Zereselasie (raz070)
committed
import java.sql.*;
Rafi Zereselasie (raz070)
committed
// Object that facilitates the connection to the database
Rafi Zereselasie (raz070)
committed
private final Connection dbConnection;
Rafi Zereselasie (raz070)
committed
Rafi Zereselasie (raz070)
committed
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;
Rafi Zereselasie (raz070)
committed
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.
Rafi Zereselasie (raz070)
committed
Return:
String newEmployee: If the employee was added successfully, then it returns their new details, else returns an empty string.
Rafi Zereselasie (raz070)
committed
protected String addEmployee(String firstName, String lastName){
String newEmployee = "";
Rafi Zereselasie (raz070)
committed
try {
Rafi Zereselasie (raz070)
committed
Statement myStatement = dbConnection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
Rafi Zereselasie (raz070)
committed
myStatement.executeUpdate("insert into Employees (first_name,last_name) values ('" + firstName + "', '" + lastName + "')");
Rafi Zereselasie (raz070)
committed
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;
Rafi Zereselasie (raz070)
committed
System.out.println("Employee Added");
Rafi Zereselasie (raz070)
committed
return newEmployee;
Rafi Zereselasie (raz070)
committed
Rafi Zereselasie (raz070)
committed
/*
Name: removeEmployee
Parameters:
int ID: The employees unique ID.
Description: Removes the employee with the same ID by querying the database.
Return: none
*/
Rafi Zereselasie (raz070)
committed
protected int removeEmployee(int ID){
Rafi Zereselasie (raz070)
committed
try {
Statement myStatement = dbConnection.createStatement();
myStatement.executeUpdate("delete from Employees where employee_id = " + ID);
Rafi Zereselasie (raz070)
committed
} catch (Exception exception) {
exception.printStackTrace();
return -1;
Rafi Zereselasie (raz070)
committed
System.out.println("Employee Removed");
Rafi Zereselasie (raz070)
committed
return ID;
Rafi Zereselasie (raz070)
committed
Name: printEmployees
Parameters: none
Description: prints the id, and names of each employee
Return: none
protected String getEmployees(){
Rafi Zereselasie (raz070)
committed
StringBuilder response = new StringBuilder("allEmployees");
Rafi Zereselasie (raz070)
committed
try {
Statement myStatement = dbConnection.createStatement();
ResultSet myRs = myStatement.executeQuery("select * from Employees");
while (myRs.next()) {
Rafi Zereselasie (raz070)
committed
response.append("/").append(myRs.getString("employee_ID")).append(".").append(myRs.getString("first_name")).append(".").append(myRs.getString("last_name"));
Rafi Zereselasie (raz070)
committed
} catch (Exception exception) {
exception.printStackTrace();
return "Error retrieving employees from database";
Rafi Zereselasie (raz070)
committed
return response.toString();