-
JDBC (Java DataBase Connectivity) - 조회 Part 1프로그래밍 언어/JDBC 2020. 11. 13. 16:54728x90반응형
JDBC
JDBC란 (Java DataBase Connectivity) 의 줄임말로
자바에서 데이터베이스에 접근할 수 있게 해주는 Programming API이다.
JDBC 사용 객체에는 DriverManager와 Connection, Statement, PreparedStatement이 있다.
본좌는 오라클에 있는 SCOTT계정에 접속하여 자바로 불러와서 작업을 해보겠다.
JDBC 초기 설정
일단 기본적인 Class파일 설정을 이렇게 했다.
일단 오라클에서 SCOTT계정의 컬럼과 데이터들을 확인해보자
SELECT * FROM emp; -- SCOTT계정의 emp테이블을 조회
이제 이 데이터들을 JDBC로 연결해서 자바에서 호출해보도록 할것이다.
조회 메뉴 설정
본좌는 메뉴설정을 EmpView.java 파일에 생성했다.
public void displayMain() { int sel = 0; do { try { System.out.println(); System.out.println("===================================="); System.out.println("[Main Menu]"); System.out.println("1. 전체 사원 정보 조회"); System.out.println("2. 사번으로 사원 정보 조회"); System.out.println("3. 새로운 사원 정보 추가"); System.out.println("4. 사번으로 사원 정보 수정"); System.out.println("5. 사번으로 사원 정보 삭제"); System.out.println("0. 프로그램 종료"); System.out.println("===================================="); System.out.print("메뉴 선택 : "); sel = sc.nextInt(); System.out.println(); switch(sel) { case 1: selectAll(); // 1_1. 같은 클래스에 있는 selectAll()을 호출 break; case 2: break; case 3: break; case 4: break; case 5: break; case 0: System.out.println("프로그램 종료."); break; default : System.out.println("잘못 입력하셨습니다."); } } catch (InputMismatchException e) { System.out.println("숫자만 입력해 주세요"); sel = -1; sc.nextLine(); } }while(sel != 0); }
switch로 조회를 한 뒤 다시 메뉴를 선택할 수 있도록 설정하고
1을 입력했을 때 전체 사원의 정보를 조회할 수 있도록 설정했다.
1 - 1) selectAll() 메소드 설정
같은 클래스 내에 있는 selectAll()메소드를 불러오도록 설정한다.
private void selectAll() { System.out.println("[전체 사원 정보 조회]"); // 1_3. EmpService.selectAll()을 호출하여 // 전체 사원 정보가 담겨있는 List를 반환 받기 List<Emp> empList = empService.selectAll(); // 1_11. 전체 사원 조회 결과 출력 if (empList == null) { // DB 연결간 문제 발생으로 empList 객체가 생성되지 않은 격우 System.out.println("전체 사원 정보 조회 과정에서 오류가 발생했읍니다."); } if (empList.isEmpty()) { // DB 연결, 조회는 성공했으나 조회 결과가 없는 경우 System.out.println("조회 결과가 없습니다."); } else { // 조회 성공 시 for (Emp emp : empList) { System.out.println(emp); } } }
EmpService.selectAll()메소드를 호출하여 전체 사원 정보가 담겨있는 List를 반환받는다.
if문을 설정하여 List<Emp>로 empService.selectAll()메소드에서
받아올 전체 사원 정보를 잘 받아왔는지 확인을 할수있도록 한다.
empList == null : DB 연결간 문제의 발생으로 객체가 생성되지 않았을 경우
empList.isEmpty() : DB 연결및 조회는 성공 했지만 조회 결과가 없을 경우
else를 통해 성공 시 조회정보를 for문을 통해 empList에 있는 정보를 출력한다.
그럼 이제 empService.selectAll();메소드에서 사원 정보를 받아보자.
1 - 2) empService.selectAll() 메소드 설정
EmpService.java에 있는 selectAll()메소드를 설정하자
public List<Emp> selectAll() { // 1_4. 전체사원 정보 조회는 별도의 데이터 가공 처리가 필요 없음. // -> 바로 EmpDAO.selectAll()을 호출하여 결과를 반환 받기. List<Emp> empList = empDAO.selectAll(); // 1_10. DAO 반환 데이터의 가공 처리가 필요 없으므로 // 그대로 다시 반환 return empList; }
전체 사원의 정보 조회는 데이터의 가공 처리가 필요 없으므로
EmpDao.selectAll()을 호출하여 반환을 받은 후
return값으로 empList를 반환 한다.
- 코드가 길어지므로 SQL에서 DB를 불러오는 작업은 이어 해보자 -
728x90반응형'프로그래밍 언어 > JDBC' 카테고리의 다른 글
JDBC (Java DataBase Connectivity) - 수정 (0) 2020.11.18 JDBC (Java DataBase Connectivity) - 추가 (0) 2020.11.18 JDBC (Java DataBase Connectivity) - 검색 (0) 2020.11.17 JDBC (Java DataBase Connectivity) - 조회 Part 2 (0) 2020.11.13