1. 프로젝트 파일에서 build path -> configure build path
2. Libraries -> Modulepath -> Add External JARs
3. ojdbc.jar 파일 선택 -> Apply
- 데이터 접근 객체
- 데이터 조회 메소드
- 데이터 입력 메소드
- 데이터 수정 메소드
- 데이터 삭제 메소드
- DB 연결 방법
1. Oracle DB Driver 로딩
2. DB 경로(ip주소:port번호:db이름) 지정
3. DriverManager의 getConnection(url, "계정명", "계정비밀번호") 호출하여 conn에 저장Connection conn = null; try { // Oracle DB Driver 로딩 Class.forName("oracle.jdbc.driver.OracleDriver"); // DB 경로 지정 String url = "jdbc:oracle:thin:@localhost:1521:xe"; // DriverManager과 DB 연결 conn = DriverManager.getConnection(url, "scott", "tiger"); System.out.println("DB 연결 성공"); } catch(Exception e) { e.printStackTrace(); } return conn;
- SELECT
- PreparedStatement 객체 : query를 준비하고 실행하는 객체
- ResultSet 객체 : query 실행으로부터 얻은 데이터를 받는 객체
- 단계
1. DB와 연결된 conn 준비
2. query 준비
3. conn.prepareStatement(query)로 query를 준비하여 ps에 저장
4. ps.executeQuery()로 query를 실행하고 나온 결과를 rs에 저장
5. rs.next()를 통해 cursor를 이동시켜 반복문 실행
6. rs.getInt(칼럼명) or rs.getString(칼럼명)을 이용해 데이터 추출conn = new DBConnect().getConn(); query = "SELECT * FROM member" + " ORDER BY num ASC"; ps = conn.prepareStatement(query); rs = ps.executeQuery(); while(rs.next()) { MemberDto mem = new MemberDto(); int num = rs.getInt("num"); String name = rs.getString("name"); String addr = rs.getString("address"); mem.setNum(num); mem.setName(name); mem.setAddr(addr); memList.add(mem); }
- Insert, Update, Delete
- PreparedStatement 객체 : query를 준비하고 세팅하고 실행하는 객체
- 단계
1. DB와 연결된 conn 준비
2. query 준비
3. conn.prepareStatement(query)로 query를 준비하여 ps에 저장
4. ps.setInt(index, value) or ps.setString(index, value)으로 query문을 세팅함
5. ps.executeUpdate()로 query를 실행하고 나온 결과인 정수값을 저장
6. 쿼리문이 성공하면 정수값은 1 이상의 값을 갖음(실패는 0 값을 갖음)
7. 해당 값에 따라 실패 또는 성공 메시지를 출력try { conn = new DBConnect().getConn(); // INSERT문 작성 query = "INSERT INTO member" + " (num, name, address)" + " VALUES(member_seq.NEXTVAL, ?, ?)"; // query를 준비 ps = conn.prepareStatement(query); // query 세팅 후 완성 ps.setString(1, mem.getName()); ps.setString(2, mem.getAddr()); // query 실행 numSuccess = ps.executeUpdate(); } catch(Exception e) { e.printStackTrace(); } finally { try { if(ps!=null) ps.close(); if(conn!=null) conn.close(); } catch(Exception e) { e.printStackTrace(); } } if(numSuccess > 0) { return true; } else { return false; }