5.Putting it Altogether.


Steps:

1.     Create a Program.java and type the codes below:
class Program
{
    public static void main(String[] args)
    {
        EmployeesModel EmployeeModel = new EmployeesModel(MSAccessDB.Connect());
        EmployeesView EmployeeView = new EmployeesView(EmployeeModel);
        EmployeesController EmployeeController = new EmployeesController(EmployeeModel, EmployeeView);
    }

}

2.     Create PersonsModel.java and type the codes below:
class PersonsModel
{
    private String name;
    private String address;
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public String getAddress() { return address; }
    public void setAddress(String address) { this.address = address; }
    public PersonsModel()
    {
        setName("Mario Silvano");
        setAddress("Cebu City");
    }
    public String toString()
    {
        return "\nName: " + getName() +
                  "\nAddress:" + getAddress();
    }
}

3.     Create EmployeesModel.java and type the codes below:
import java.sql.*;
import java.util.*;
import java.io.*;
class EmployeesModel extends PersonsModel{
        private int id;
        Connection db;

        public int getId(){return id;}
        public void  setId(int id){this.id=id;}

        public EmployeesModel(){ }

        public EmployeesModel(Connection db){
                        this.db=db;
                        }

        public boolean insert(EmployeesModel Employee){
                        String sql="INSERT INTO Employees(EmpName,EmpAddress)"+
                                                           "VALUES('"+Employee.getName()+"','"+Employee.getAddress()+"')";
                        return MSAccessDB.Insert(sql,db);
                        }
        public boolean delete(int id){
                        String sql="DELETE FROM Employees WHERE id="+id;
                        return MSAccessDB.Delete(sql,db);
                        }
        public boolean isFound(int id){
                        String sql="SELECT * FROM Employees WHERE id="+id;
                        ResultSet rs = MSAccessDB.Search(sql,db);
                        boolean found=false;

                        try{
                                        while(rs.next()){found=true;}
                        }catch(Exception ex){ex.printStackTrace();}
                        return found;
        }

        public boolean update(EmployeesModel Employee){
                        String sql = "UPDATE Employees SET EmpName='"+Employee.getName()+"',"+
                                                                         " EmpAddress='"+Employee.getAddress()+"'"+
                                                                         " WHERE id="+Employee.getId();
                        return MSAccessDB.Update(sql,db);
        }
        public ArrayList<EmployeesModel> getEmployees(){
                        String sql = "SELECT * FROM Employees";
                        ResultSet rs = MSAccessDB.getResults(sql,db);

                        ArrayList<EmployeesModel> Employees=new ArrayList<EmployeesModel>();
                        try{
                        while((rs!=null) && (rs.next())){
                                                        EmployeesModel Employee=new EmployeesModel();
                                                        Employee.setId(Integer.parseInt(rs.getString("id")));
                                                        Employee.setName(rs.getString("EmpName"));
                                                        Employee.setAddress(rs.getString("EmpAddress"));
                                                        Employees.add(Employee);
                                        }
                         }catch(Exception ex){ex.printStackTrace();}

                        return Employees;

        }

        public String toString(){
                                        return "\nID="+getId()+super.toString();
                        }

        }
4.     Create EmployeesView.java and type the codes below:
import java.util.*;
class EmployeesView{

                        EmployeesModel EmployeeModel;

                        public EmployeesModel getEmployeeModel(){
                                        return  EmployeeModel;
                                        }
                        public void setEmployeeModel(EmployeesModel EmployeeModel){
                                        this.EmployeeModel=EmployeeModel;
                        }
                        public EmployeesView(){}
                        public EmployeesView(EmployeesModel EmployeeModel){
                                        setEmployeeModel(EmployeeModel);
                        }

                        public void menu(){
                                                        Console.out.println("Menu-----");
                                                        Console.out.println("[1]Insert");
                                                        Console.out.println("[2]Display");
                                                        Console.out.println("[3]Edit/Update");
                                                        Console.out.println("[4]Delete");
                                                        Console.out.println("[5]Quit");
                                                        Console.out.print("Select Menu[1-5]: ");
                                        }

                        public void id(){Console.out.print("Input ID:");}
                        public void name(){Console.out.print("Input Name:");}
                        public void address(){Console.out.print("Input Address:");}
                        public void savedSuccessfully(){Console.out.println("Saved Successfully...");}
                        public void deletedSuccessfully(){Console.out.println("Deleted Successfully...");}
                        public void updatedSuccessfully(){Console.out.println("Updated Successfully...");}
                        public void errMsg(){Console.out.println("Error Encountered...");}
                        public void notFoundMsg(){Console.out.println("Not Found...");}

                        public void Employees(){
                        Console.out.println("Employees-----------------------------");
                        ArrayList<EmployeesModel> Employees = EmployeeModel.getEmployees();
                        for(int i=0;i<Employees.size();i++){
                                        Console.out.println(Employees.get(i));
                        }
        }
}
5.     Create EmployeesController.java and type the codes below:
class EmployeesController
{

    private EmployeesModel EmployeeModel;
    private EmployeesView EmployeeView;
    private int option;

    public int getOption() { return option; }
    public EmployeesModel getEmployeeModel()
    {
        return EmployeeModel;
    }
    public void setEmployeeModel(EmployeesModel EmployeeModel)
    {
        this.EmployeeModel = EmployeeModel;
    }

    public EmployeesView getEmployeeView()
    {
        return EmployeeView;
    }
    public void setEmployeeView(EmployeesView EmployeeView)
    {
        this.EmployeeView = EmployeeView;
    }
    public void setOption(int option) { this.option = option; }

    public EmployeesController() { }

    public EmployeesController(EmployeesModel EmployeeModel, EmployeesView EmployeeView)
    {
        setEmployeeModel(EmployeeModel);
        setEmployeeView(EmployeeView);
        MenuUI();
    }

    private void MenuUI(){
                                                do{
                                                EmployeeView.menu();
                                                setOption(Console.in.readIntegerInput());
                                                switch(getOption()){

                                                case 1:
                                                                insert();
                                                break;
                                                case 2:
                                                                display();
                                                break;
                                                case 3:
                                                                edit();
                                                break;
                                                case 4:
                                                                delete();
                                                break;
                                                }
                                }while(getOption()!=5);
        }

    private void insert()
    {
        boolean result = EmployeeModel.insert(Employee());
        if (result) EmployeeView.savedSuccessfully();
        else EmployeeView.errMsg();
    }

    private EmployeesModel Employee(){
                        EmployeesModel Employee=new EmployeesModel();
                        EmployeeView.name();
                        Employee.setName(Console.in.readStringInput());
                        EmployeeView.address();
                        Employee.setAddress(Console.in.readStringInput());
                        return Employee;
                        }

    private void display()
    {
        EmployeeView.Employees();
    }

    private void delete(){
                                        EmployeeView.id();
                                        int id = Console.in.readIntegerInput();
                                        boolean found=EmployeeModel.isFound(id);
                                        if(found==true){
                                                        boolean result=EmployeeModel.delete(id);
                                                        if(result)EmployeeView.deletedSuccessfully();
                                                        else EmployeeView.errMsg();
                                        }
                                        else{EmployeeView.notFoundMsg();}
                        }

    private void edit(){
                                        EmployeeView.id();
                                        int id = Console.in.readIntegerInput();
                                        boolean found=EmployeeModel.isFound(id);
                                        if(found==true){
                                                        EmployeesModel Employee=Employee();
                                                        Employee.setId(id);
                                                        boolean result=EmployeeModel.update(Employee);
                                                        if(result)EmployeeView.updatedSuccessfully();
                                                        else EmployeeView.errMsg();
                                        }
                                        else{EmployeeView.notFoundMsg();}

                        }

}
6.     Create MSAccessDB.java and type the codes below:
import java.sql.*;
class MSAccessDB{
                        public static Connection Connect(){
                        Connection conn=null;
                        try{
                        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                        String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=EmployeesDB.mdb;";
        conn = DriverManager.getConnection(database, "", "");
                        }catch(Exception ex){ex.printStackTrace();}
                        return conn;
                        }

                        public static boolean Insert(String sql,Connection db){
                                        return Execute(sql,db);
                                        }
                        public static boolean Update(String sql,Connection db){
                                        return Execute(sql,db);
                                        }
                        public static boolean Delete(String sql,Connection db){
                                        return Execute(sql,db);
                                        }

                        public static ResultSet getResults(String sql,Connection db){
                                        return Query(sql,db);
                        }

                        public static ResultSet Search(String sql,Connection db){
                                        return Query(sql,db);
                        }

                        private static boolean Execute(String sql,Connection db){
                                        try{
                                                        Statement s = db.createStatement();
                                                        s.execute(sql);
                                                        s.close();
                                                        return true;
                                                        }catch(Exception ex){
                                                        ex.printStackTrace();
                                                        return false;
                                        }
                        }

                        private static ResultSet Query(String sql,Connection db){
                                        ResultSet rs=null;
                                        try{
                                                        Statement s = db.createStatement();
                                                        s.execute(sql);
                                                        rs = s.getResultSet();
                                                        }catch(Exception ex){
                                                        ex.printStackTrace();
                                                        }
                                        return rs;
                        }

        }
7.     Create a Console.java and type the codes below:
import java.io.*;
class Console{
                                public static class out{
                                                public static void print(String str){System.out.print(str);}
                                                public static void println(String str){System.out.println(str);}
                                                public static void println(Object obj){System.out.println(obj);}
                                }

                                public static class                in{
                                                static int readIntegerInput(){
                                                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
                                                                int input=0;
                                                                try{input=Integer.parseInt(br.readLine());}
                                                                catch(Exception ex){out.println("Error: "+ex.getMessage());System.exit(1);}
                                                return input;
                                                }
                                                static String readStringInput(){
                                                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
                                                String input="";
                                                try{input=br.readLine();}
                                                catch(Exception ex){out.println("Error: "+ex.getMessage());System.exit(1);}
                                                return input;
                                }
 }
}

8.     Put your code to the test, nice jobJ

No comments:

Post a Comment