[ JDBC ]
:: JAVA프로그램에서 SQL문을 실행하여 데이터를 관리하기 위한 JAVA API.
:: 다양한 데이터 베이스에 대해서 별도 프로그램을 만들 필요 없이, 해당 데이터 베이스의 JDBC를 이용하면 하나으 ㅣ프로그램으로 데이터 베이스를
관리할 수 있음.
:: Oracle을 사용중이니 Oracle용 JDBC를 사용하며, Oracle을 설치할 때 자동으로 설치 되고, 이클립스에서 해당 클래스 파일을 복사하면 됨.
[ Oracle Driver를 사용하기 위한 ojdbc6.jar파일 복사 ]
:: oracle설치 경로에서 app\oracle\product\버전명\server\jdbc\lib 내부에 위치함
:: jre위치 찾기( windows -> preperences -> java -> Build Path -> Classpath variables에 JRE_LIB의 경로
< 직접 넣어주는 방법 >
:: jre설치 폴더 -> lib -> ext에 ojdbc6.jar파일을 복사
< 이클립스에서 넣는 방법 >
1. 프로젝트이름 마우스 우클릭
2. Build Path -> Configure Build Path
3. Libraries탭 -> JRE system Library -> edit
4. alternate JRE 부분에 알맞은 jre가 선택되어 있는지 본 후 installed JRES클릭
5. 목록에 있는 jre 클릭 -> edit 클릭
6. Add External JARs 클릭후 ojdbc6.jar파일이 있는 경로로 찾아가 등록
[ 데이터 베이스 연결 순서 ]
1. JDBC 드라이버 로드[DriverManager]
:: Class.forName("oracle.jdbc.driver.OracleDriver");
:: 메모리에 Oracle Driver가 로드됨
2. 데이터베이스 연결[Connection]
:: DriverManager.getConnection( JDBC URL, 계정아이디, 비밀번호 );
:: Connection객체 생성
3. SQL문 실행[Statement]
:: connection.createStatement();
:: statement객체를 동해 SQL문이 실행됨.
4. 데이터베이스 연결 해제[ResultSet]
:: statement.executeQuery(), statement.executeUpdate()
:: SQL문의 결과값을 ResultSet객체로 받음
< Statement 객체 >
:: 인터페이스
☞ executeQuery()
:: SQL문 실행 후 여러 개의 결과값이 생기는 경우 사용
:: select
- ResultSet
1. next()
:: 다음 레코드로 이동
2. previous()
:: 이전 레코드로 이동
3. first()
:: 처음으로 이동
4. last()
:: 마지막으로 이동
5. get메소드(getString, getInt)
☞ executeUpdate()
:: SQL문 실행 후 테이블의 내용만 변경되는 경우 사용
:: insert, delete, update
<%! Connection connection; Statement statement; ResultSet resultSet; String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin@localhost:1521:xe"; String uid = "scott"; String upw = "tiger"; String query = "select * from member"; %>
|
|
<% try{ Class.forName(driver); connection = DriverManager.getConnection(url, uid, upw); statement = connection.createStatement(); resultSet = statement.executeQuery(query); while(resultSet.next()){ String id = resultSet.getString("id"); String pw = resultSet.getString("pw"); String name = resultSet.getString("name"); String phone = resultSet.getString("phone"); out.println("아이디: "+ id + ", 비밀번호 : "+ pw + ", 이름: "+ name + ", 전화번호: " + phone ); } }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(resultSet != null){ if(statement != null){ statement.close(); } if(connection != null){ connection.close(); } } }catch(Exception e){ e.printStackTrace(); } } %>
|
|