Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스트림
- 입출력
- File
- 자바공부
- 자바객체
- 자바 암호화
- 자바I/O
- 예제
- 자바
- 자바설치
- 숫자야구
- 테이블 설계
- 객체
- 자바기초
- 설치방법
- 서블릿 파라미터
- java
- 조건문
- Servlet
- 자바문제
- 컨텍스트 초기화 객체
- 서블릿 동작방식
- DA#
- 서블릿
- 스택
- 서블릿 예제
- 오라클
- OOP
- 서블릿 값 가져오기
- SQL
Archives
- Today
- Total
다양한 관심 :)
Java (자바) - JDBC 본문
JDBC ( Java DataBase Connectivity ) 라이브러리를 이용한 DB자료 처리하기
제일먼저 해야될것 : JDBC 라이브러리를 등록
처리 순서
1. 드라이버 로딩 : 라이브러리를 사용할 수 있게 메모리에 읽어들이는 작업
ex. Class.forName("oracle.jdbc.driver.OracleDriver");
2. DB에 접속하기 : 접속이 성공하면 Connection 객체가 반환된다.
ex. DriverManager.getConnection ( ) 메서드를 이용한다.
3. 질의 : SQL 문장을 DB서버로 보내서 결과를 얻어온다.
=> Connection 객체를 이용해서 Statement객체 또는 PreparedStatement객체를 구한 후
이 두 객체 중 하나를 이용하여 작업을 수행한다.
4. 처리결과 : 질의 결과를 받아서 원하는 작업을 수행한다.
1) SQL문이 SELECT문 일 경우에는 SELECT한 결과가 ResultSet 객체에 저장되어 반환된다.
2) SQL문이 SELECT문이 아닐 경우 ( Insert문, update문, delete문 등)에는 정수값을 반환한다.
==> 이 정수값은 sql문이 실행에 성공한 레코드 수 이다. 컬럼명이나 컬럼순번, alias를 사용한다.
5. 사용한 자원을 반납한다 : 사용한 객체의 close()메서드를 이용
public static void main(String[] args) {
// db작업에 필요한 객체 변수 선언
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 1. 드라이버 로딩
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2. DB연결
conn = DriverManager.getConnection
("jdbc:oracle:thin:@localhost", "user", "password");
// 3-1. 실행할 SQL문 작성 - lprod라는 테이블의 데이터를 가져온다.
String sql = "select * from lprod";
// 3-2. Statement 객체 생성 ==> Connection 객체를 이용한다.
stmt = conn.createStatement();
// 4. SQL문을 DB서버로 전소해서 실행하고 결과를 얻어온다.
// ( 지금은 실행할 SQL문이 select문이기 때문에 결과가 ResultSet 객체에 저장되어 반환한다)
rs = stmt.executeQuery(sql);
//5. 결과 처리하기 ==> 한 레코드씩 화면에 출력하기
// ==> ResultSet의 데이터를 차례로 꺼내오려면 반복문과 next()메서드를 이용한다.
System.out.println("==처리 결과 출력 ==");
/*
rs.next() ==> ResultSet 객체의 데이터를 가리키는 포인터를 다음 레코드 자리로 이동시키고,
그곳에 데이터가 있으면 true, 없으면 false를 반환
*/
while (rs.next()) {
// 포인터가 가리키는 곳의 데이터를 가져오는 방법
// 형식 1) rs.get자료형이름 ("컬럼명");
// 형식 2) rs.get자료형이름(컬럼번호); -> 컬럼 번호는 1부터 시작
// 형식 3) rs.get자료형이름("컬럼의 alias명")
//형식 1
System.out.println("Lprod_id : " + rs.getInt("lprod_id")); //잘못입력하면 false로 입력되어 출력되지 않는다
//형식2
System.out.println("Lprod_gu : " + rs.getString(2));
//형식 1
System.out.println("Lprod_nm : " + rs.getString("lprod_id"));
System.out.println("==================================");
}
System.out.println("전체 자료 출력 끝");
} catch (SQLException e) {
System.out.println("잘못입력했습니다.");
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally { //6. 사용했던 자원 반납하기
if(rs!=null) { try{ rs.close(); } catch(SQLException e) { } }
if(stmt!=null) { try{ stmt.close(); } catch(SQLException e) { } }
if(conn!=null) { try{ conn.close(); } catch(SQLException e) { } }
}
}
}
'프로그래밍 공부 > JAVA' 카테고리의 다른 글
ibatis 환경 설정 - sqlMapConfig (0) | 2020.11.18 |
---|---|
Java - iBatis (0) | 2020.11.18 |
Java - Stack, Queue (0) | 2020.11.12 |
JAVA- FILE COPY (0) | 2020.11.04 |
JAVA-I/O(Byte) (0) | 2020.11.03 |