일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트 undefined
- TCP 채팅
- dom sax 차이점
- 동기식 비동기식
- 간단한 채팅 프로그램
- 빅분기 독학
- dom sax 장단점
- 자바 채팅 프로그램
- The OneThing
- TCP Socket
- Notepad 줄바꿈
- 책 원씽
- 빅데이터분석기사 필기
- 빅분기 필기
- 노트패드 줄바꿈
- 빅데이터분석기사 독학
- 빅분기
- ajax 비동기식
- Notepad++ 줄바꿈
- async
- 원씽 독후감
- 원씽 후기
- 원씽 책
- 노트패드++ 줄바꿈
- 원씽 내용
- xml 파싱 방법
- 자바 채팅
- ajax 동기식
- async false
- 빅데이터분석기사
- Today
- Total
SooBlending
[JDBC] Eclipse와 DB 연결하기 (Oracle) 본문
<JDBC> Java DataBase Connectivity (java.sql패키지)
1.DriverManger
- JVM에서 JDBC전체를 관리하는 class
(기능: Driver등록, Connection 연결작업...)
2.Driver
- DB를 만드는 Vendor(Oracle, MS-SQL, MySQL,....)를 implements하여
자신들의 DB를 연결할 수 있는 class를 만드는 인터페이스.
3.Connection
- DB와 연결성을 가지고 있는 interface.
4.Statement
- 실제 SQL문을 사용하기 위하여 Connection으로 부터 받아내는 interface.
5.ResultSet
- Statement를 통하여 select을 실행하였을때 그 결과 Data를 가지고 있는
interface
<JDBC Programming>
1. Driver를 loading한다.
2. DB와 연결하여 Connection Object를 얻어낸다.
3. Connection으로 부터 SQL문을 실행하기 위한 Statement Object를 생성.
4. Statement Object의 API이용하여 SQL실행.
5. SQL을 실행한 후 결과인 ResultSet Object를 얻는다.
6. ResultSet Object에 있는 결과 자료를 loop를 이용하여 처리한다.
<연결방법>
1. ojdbc6.jar 파일을 우선 oracle 홈페이지에서 다운받는다.
2. ojdbc6.jar 파일을 아래와 같은 경로에 넣어주게 된다면 이클립스 자체에서 파일을 인식하게 된다.
3. 나중에 프로젝트를 진행할 시에 위와 같은 방법으로 jar파일을 설정하게 되면 jdk가 너무 무거워져
문제가 될 수 있기 때문에 아래와 같이 프로젝트의 Properties - Java Build Path - Add External JARs.. 로 추가해주는 것이 좋다.
<간단한 예시>
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCTest {
Connection conn;
Statement stmt;
ResultSet rs;
public JDBCTest() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn;
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "scott", "tiger");
stmt = conn.createStatement();
// 문제 1) 추가.
/*String sql = "insert into emp7 values(7000,'홍길동',2000,10)";
String sql2 = "insert into emp7 values(7002,'길라임',3000,20)";
String sql3 = "insert into emp7 values(7004,'김주원',4000,30)";
stmt.executeUpdate(sql);
System.out.println("사원이 추가되었습니다 !");
stmt.executeUpdate(sql2);
System.out.println("사원이 추가되었습니다 !");
stmt.executeUpdate(sql3);
System.out.println("사원이 추가되었습니다 !");*/
// 문제 2) 삭제
/*String sql4 = "delete from emp7 where ename like '길라임'";
stmt.executeUpdate(sql4);
System.out.println("사원이 삭제 되었습니다 !");*/
// 문제 3) 김주원 사원을 10부서로 이동
/*String sql5 = "update emp7 set deptno=10 where ename like '김주원'";
stmt.executeUpdate(sql5);
System.out.println("부서가 이동 되었습니다 !");*/
// 문제 4) 전체 사원에 대한 정보 출력
String sql6 = "select * from emp7";
ResultSet rs = stmt.executeQuery(sql6);
while(rs.next()) {
int empno = rs.getInt("empno");
String ename = rs.getString("ename");
int sal = rs.getInt("sal");
int deptno = rs.getInt("deptno");
System.out.println("사원번호 : "+empno + ", 사원이름 : "+ename + ", 급여 : "+ sal + ", 부서번호 : " + deptno);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
JDBCTest a = new JDBCTest();
}
}
'Programming > Java' 카테고리의 다른 글
[Java] Properties / Enumeration (0) | 2017.11.17 |
---|---|
[TCP Socket] 간단한 채팅 프로그램 (Server/Client) (3) | 2017.11.07 |
[TCP Socket ] TCP 소켓 통신 (0) | 2017.11.07 |
[Eclipse] 이클립스 단축키 (0) | 2017.11.07 |