## 프로젝트 개요
직원 정보를 안전하게 저장하고 병렬 처리가 가능한 엔터프라이즈급 데이터 관리 시스템 구현
## 주요 기능
- 직원 등록 및 조회 기능
- 멀티스레드 환경에서의 동시성 보장
- CSV 파일로 데이터 내보내기
- 입력 오류 자동 검증
## 사용 방법
1. 프로그램 실행 후 메뉴를 선택합니다
2. 1번을 선택하면 직원 정보를 등록할 수 있습니다
3. 2번을 선택하면 특정 직원을 조회할 수 있습니다
4. 3번을 선택하면 CSV 파일로 데이터를 내보냅니다
5. 잘못된 입력 시 자동 오류 메시지 표시
## 확장 가능성
- DB 연동 기능 추가
- 보안 권한 관리 시스템 통합
- 실시간 데이터 모니터링 기능 구현
☕ 엔터프라이즈용 직원 데이터 관리 시스템
Java 예제
중급
난이도
예제
타입
10/21
등록일
엔터프라이즈용 직원 데이터 관리 시스템
중급태그
코드 예제
// 직원 정보 관리 시스템
import java.util.*;
import java.io.*;
public class EmployeeManager {
private static final Map<String, String> employees = new HashMap<>();
private static final Object lock = new Object();
// 직원 등록 메서드
public static void registerEmployee() {
Scanner scanner = new Scanner(System.in);
System.out.print("직원 ID: ");
String id = scanner.nextLine().trim();
// 입력 검증
if (id.isEmpty()) {
System.err.println("ID는 공백일 수 없습니다.");
return;
}
System.out.print("이름: ");
String name = scanner.nextLine().trim();
// 멀티스레드 환경에서의 동시성 보장
synchronized (lock) {
if (employees.containsKey(id)) {
System.err.println("이미 등록된 ID입니다.");
return;
}
employees.put(id, name);
System.out.println("직원 정보가 성공적으로 등록되었습니다.");
}
}
// 직원 조회 메서드
public static void findEmployee() {
Scanner scanner = new Scanner(System.in);
System.out.print("검색할 ID: ");
String id = scanner.nextLine().trim();
synchronized (lock) {
String name = employees.get(id);
if (name == null) {
System.err.println("등록되지 않은 ID입니다.");
} else {
System.out.println("ID: " + id + " / 이름: " + name);
}
}
}
// CSV 내보내기 메서드
public static void exportToCSV() {
try (BufferedWriter writer = new BufferedWriter(new FileWriter("employees.csv"))) {
writer.write("ID,이름
");
synchronized (lock) {
for (Map.Entry<String, String> entry : employees.entrySet()) {
writer.write(entry.getKey() + "," + entry.getValue() + "
");
}
}
System.out.println("데이터가 employees.csv 파일로 성공적으로 내보내졌습니다.");
} catch (IOException e) {
System.err.println("파일 저장 중 오류 발생: " + e.getMessage());
}
}
// 메인 메서드
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("
1. 직원 등록 2. 직원 조회 3. 데이터 내보내기 4. 종료");
System.out.print("선택: ");
int choice = scanner.nextInt();
scanner.nextLine(); // 버퍼 클리어
switch (choice) {
case 1: registerEmployee(); break;
case 2: findEmployee(); break;
case 3: exportToCSV(); break;
case 4: return;
default: System.err.println("잘못된 선택입니다.");
}
}
}
}
등록일: 2025년 10월 21일 02:37
언어 정보
언어
Java
카테고리
Enterprise
인기도
#3
학습 팁
코드를 직접 실행해보세요
변수를 바꿔가며 실험해보세요
오류가 나도 포기하지 마세요
다른 예제도 찾아보세요