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