본문 바로가기

코딩

사원관리 프로그램 (소 프로젝트)

사원관리 프로그램은 아래와 같다.

 

사원관리

사원의 등록, 사원정보 조회하는 작업으로 나눔

 

사원 등록화면

이름, 직책, 메일, 부서를 입력한 후 저장하기 버튼을 클릭해서 사원정보를 추가

 

 

사원 정보조회 화면

- 사원번호로 조회, 사원 이름으로 조회

- 사원정보 조회 버튼을 클릭해서 조회함, 다시쓰기 버튼을 이용해서 초기화한후 다시작성함

 

사원 전체 보기화면

- 사원목록에 있는 모든 회원이 보여짐.

 

 

 

 

---------------------------------------------

테이블 명 : employee

필드 : no(4) primary key, name(20) not null, jobgrade(10, 직책),

department(4, 부서-숫자임), email(30)

 

시퀀스를 작성 : employee_seq

시작은 1, 증가는 1씩, 조건은 nocycle

---------------------------------------------

create table employee(
no number(4) primary key,
name varchar2(20) not null,
jobgrade varchar2(10),
department number(4),
email varchar2(30)
);

create SEQUENCE employee_seq
start with 1
increment by 1
nocycle;

-----------------------------------------

 

 

1. VO클래스 작성(value object)

- VO(value object) 클래스는 데이터를 담는 컨테이너 역할을 하는 클래스로

  데이터 전달을 목적으로 만들어진 클래스임.

  VO클래스는 어플리케이션 구조에서 각 단계의 입출력 정보를 전달하는 역할을 수행하며

  속성(attribute), setter와 getter로 구성되는 클래스임.

 

속성(attribute : 필드) : VO 클래스에 입력되는 정보를 저장한다.

setter 메소드 : 정보를 VO 클래스에 저장할 때 사용하는 메소드

getter 메소드 : VO 클래스의 정보를 조회할 때 사용하는 메소드

 

 

 

 

2. DAO 클래스 작성(Data Access Object)

DB에있는 데이터에 접근하기 위한 객체.

- 데이터베이스와 연동을 위한 DBUtil 클래스를 작성함

- getConnection() : Class 클래스의 forName() 메소드를 호출하여 oracle의 JDBC 드라이브를 등록

                JDBC 드라이브를 등록한 후에 DriverManager 클래스의 getConnection() 메소드를

                호출하여 데이터베이스에 대한 커넥션을 얻어옴.

 

 

 

3. DAO 클래스에서 처리된 자료를 받아서 데이터베이스에 입력과 조회를 함

EmployeeDAO 메소드를 정의해서 처리함.

getEmployeeregiste() : 새로 사원등록 처리하는 메소드

getEmployeeCheck() : 사원의 사원번호, 사원 이름을 입력받아 사원정보를 조회하는 메소드

getEmployeeNo() : 사원번호를 입력받아 정보조회

getEmployeeName() : 이름을 입력받아 정보 조회

getEmployeeTotal() : 전체 사원의 정보를 조회하는 메소드

getColumnName() : ResultSetMetaData 정보를 조회하는 메소드

 

 

 

위의 메소드들은 공통으로 커넥션 객체의 prepareStatement() 메소드를 호출하고

쿼리를 실행시켜 데이터베이스를 조작할 PreparedStatement 객체를 얻어옴

 

값이 들어갈 자리에 텍스트필드의 getText() 메소드를 사용하여

얻은 문자열에 대입하여 쿼리문을 작성해 완성시킴

 

-----------------------------------------------------------------------------------

 

 

화면 레이아웃

- 사용자로부터 입력을 받거나 처리된 결과를 보여주기 위한 어플리케이션의 기능을 구현함

- 사용자가 쉽게 사용할 수 있도록 UI(User Interface) 컴포넌트를 배열하고 Navigation 정책을 세움

 

패널로 사원정보 입력을 위한 클래스 설계

메소드

AddPane() : 사원정보 입력 탭 객체는 정보를 입력받기 위한 텍스트 필드 배열.

             저장하기 버튼, 다시쓰기 버튼으로 구성됨

 

이벤트 메소드

actionPerformed() : 저장하기 버튼을 누르면 텍스트 필드의 내용을 DB에 저장함

               다시쓰기 버튼을 누르면 텍스트 필드의 내용을 초기화 시킴.

 

 

사원 정보 조회를 위한 UI와 검색처리를 하는 FindPane 클래스 설계

FindPane() : 사원정보 조회 탭 객체로 검색통해 사원정보를 입력받기 위한

            텍스트필드와 사원조회버튼, 다시쓰기버튼으로 구성됨

actionPerformed() : 사원 조회버튼을 누르면 텍스트필드의 내용과 일치하는 데이터를 

                 데이터베이스로부터 읽어옴. DB에서 가져온 정보를 출력함.

                 다시쓰기 버튼을 누르면 텍스트필드의 내용을 초기화함.

 

 

사원전체를 출력하기 위한 TotalPane 클래스와 JTable을 사용해서

데이터 모델 객체를 설계