JDBC 5
package kr.or.ddit.basic;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import util.JDBCUtil;
import util.ScanUtil;
/*
- 회원을 관리하는 프로그램을 작성하시오.
- (MYMEMBER 테이블 이용)
- 아래 메뉴의 기능을 모두 구현하시오.(CRUD 기능 구현하기)
- 메뉴 예시)
- == 작업 선택 ==
- 자료 추가
- 자료 삭제
- 자료 수정
- 전체 자료 출력
- 작업 끝
- 처리조건)
- 1) 자료 추가에서 '회원ID'는 중복되지 않는다.(중복되면 다시 입력받는다.)
- 2) 삭제는 '회원ID'를 입력 받아서 처리한다.
- 3) 자료 수정에서 '회원ID'는 변경되지 않는다.
*/
public class JdbcTest06 {
JDBCUtil jdbc = JDBCUtil.getInstance();
public static void main(String[] args) {
new JdbcTest06().start();
}
private void start() {
while (true) {
System.out.println("== 작업 선택 ==");
System.out.println("1. 자료 추가");
System.out.println("2. 자료 삭제");
System.out.println("3. 자료 수정");
System.out.println("4. 전체 자료 출력");
System.out.println("0. 작업 끝");
System.out.println("============");
System.out.print(">> ");
int input = ScanUtil.nextInt();
switch (input) {
case 1: // 자료 추가
insert();
break;
case 2: // 자료 삭제
delete();
break;
case 3: // 자료 수정
update();
break;
case 4: // 전체 자료 출력
printAll();
break;
case 0: // 작업 끝
System.out.println("종료합니다.");
System.exit(0);
}
}
}
// 전체 자료 출력 - ID, NAME, TEL, ADDR
private void printAll() {
String sql = "SELECT MEM_ID,"
+ " MEM_NAME,"
+ " MEM_TEL,"
+ " MEM_ADDR"
+ " FROM MYMEMBER";
List<Map<String, Object>> memList = jdbc.selectList(sql);
System.out.println("==============================");
System.out.println("아이디\t이름\t전화번호\t주소");
for (Map<String, Object> mem : memList) {
System.out.println("------------------------------");
System.out.println(mem.get("MEM_ID")
+ "\t" + mem.get("MEM_NAME")
+ "\t" + mem.get("MEM_TEL")
+ "\t" + mem.get("MEM_ADDR"));
}
System.out.println("==============================");
}
// 아이디로 조회 후 NAME, PASS, TEL, ADDR 수정
private void update() {
System.out.print("정보를 수정할 아이디 : ");
String id = ScanUtil.nextLine();
System.out.print("수정할 이름 > ");
String name = ScanUtil.nextLine();
System.out.print("수정할 비밀번호 > ");
String pass = ScanUtil.nextLine();
System.out.print("수정할 전화번호 > ");
String tel = ScanUtil.nextLine();
System.out.print("수정할 주소 > ");
String addr = ScanUtil.nextLine();
// 아이디가 일치하는 정보만 수정
String sql = "UPDATE MYMEMBER"
+ " SET MEM_NAME = ?"
+ " , MEM_PASS = ?"
+ " , MEM_TEL = ?"
+ " , MEM_ADDR = ?"
+ " WHERE MEM_ID = ?";
ArrayList<Object> param = new ArrayList<>();
param.add(name);
param.add(pass);
param.add(tel);
param.add(addr);
param.add(id);
if (jdbc.update(sql, param) > 0) {
System.out.println(id + "의 회원정보 수정 완료");
} else {
System.out.println(id + "의 회원정보 수정 실패");
}
}
private void delete() {
System.out.print("삭제할 아이디 : ");
String id = ScanUtil.nextLine();
// 아이디가 일치하는 정보만 삭제
String sql = "DELETE MYMEMBER"
+ " WHERE MEM_ID = ?";
ArrayList<Object> param = new ArrayList<>();
param.add(id);
if (jdbc.update(sql, param) > 0) {
System.out.println(id + "의 회원정보 삭제 성공");
} else {
System.out.println(id + "의 회원정보 삭제 실패");
}
}
// 등록 - ID(PK), NAME, PASS, TEL, ADDR
private void insert() {
String id;
while (true) {
System.out.print("아이디 > ");
id = ScanUtil.nextLine();
String sql = "SELECT MEM_ID"
+ " FROM MYMEMBER"
+ " WHERE MEM_ID = ?";
ArrayList<Object> param = new ArrayList<>();
param.add(id);
Map<String, Object> idList = jdbc.selectOne(sql, param);
if (idList.size() != 0) {
System.out.println("아이디가 중복됩니다.");
continue;
} else {
break;
}
}
System.out.print("이름 > ");
String name = ScanUtil.nextLine();
System.out.print("비밀번호 > ");
String pass = ScanUtil.nextLine();
System.out.print("전화번호 > ");
String tel = ScanUtil.nextLine();
System.out.print("주소 > ");
String addr = ScanUtil.nextLine();
String sql = "INSERT INTO MYMEMBER"
+ " VALUES (?, ?, ?, ?, ?)";
ArrayList<Object> param = new ArrayList<>();
param.add(id);
param.add(name);
param.add(pass);
param.add(tel);
param.add(addr);
if (jdbc.update(sql, param) > 0) {
System.out.println("자료 추가 성공");
} else {
System.out.println("자료 추가 실패");
}
}
}
Author And Source
이 문제에 관하여(JDBC 5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@irisblossom/JDBC-5저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)