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
- ResultSet
- connection
- mkdir
- Class.forName
- Statement
- RM
- mv
- 리눅스 명령어
- query
- DriverManager
- rs.next
- 리눅스에서 이클립스설치
- jdbc
- CP
- Touch
- 압축풀기명령어
Archives
- Today
- Total
coramDeo
JDBC 프로그램 작성 단계 -1(DriverManager,Connection) 본문
JDBC 프로그램 작성단계는 MVC2모델에서 DAO와 데이터베이스를 연결할때 필요한 단계입니다.
select문을 예를들어 그림으로 표현해보았는데 저기서 Connection부분에 이루어지는 과정입니다.
JDBC 프로그램 작성단계
1. JDBC드라이버 로딩 2.Connection 객체 생성 3. Statement 객체 생성 4.쿼리 수행
5.Result 객체로 데이터 추출(Insert,delete,update문은 결과값이 필요없으므로 Select문에서만 사용) 6. 종료
1단계 JDBC드라이버
인터페이스 드라이버를 구현하는 작업으로 클래스에서 forName()메소드를 이용해 드라이버를 로드합니다.
//드라이버 로딩
String driver="oracle.jdbc.OracleDriver";
Class.forName(driver);
*DriverManager 클래스
이 클래스는 데이터 원본에 jdbc 드라이버를 사용해서 jsp에서 사용할 수 있는 커넥션을 만드는 역할을 합니다.
특히, Class.forName()메소드를 사용해서 생성되며, 인터페이스 드라이버를 구현하는 작업을 수행합니다.
이 클래스는 데이터 원본에 jdbc 드라이버를 사용해서 jsp에서 사용할 수 있는 커넥션을 만드는 역할을 합니다.
특히, Class.forName()메소드를 사용해서 생성되며, 인터페이스 드라이버를 구현하는 작업을 수행합니다.
*Class.forName()메소드
-드라이버를 읽고, 자동으로 객체를 생성합니다.
-객체를 생성하는 방법이 여러가지인데 이또한 그 중 한개라고 생각하시면 됩니다.
-객체 생성후 자동적으로 DriverManager 클래스의 메소드를 호출해 그 객체를 등록합니다.
-드라이버 클라스를 찾지 못할 경우, ClassNotFoundException 예외를 발생시키므로 반드시 예외처리를 해야합니다.
-드라이버를 읽고, 자동으로 객체를 생성합니다.
-객체를 생성하는 방법이 여러가지인데 이또한 그 중 한개라고 생각하시면 됩니다.
-객체 생성후 자동적으로 DriverManager 클래스의 메소드를 호출해 그 객체를 등록합니다.
-드라이버 클라스를 찾지 못할 경우, ClassNotFoundException 예외를 발생시키므로 반드시 예외처리를 해야합니다.
2단계 connection객체생성
connection객체를 연결하는 것으로 DriverManager에 등록된 각 드라이버들을 getConnection(String url) 메소들을 사용해서 식별합니다. url 식별자와 같은 것을 찾아 매핑하게 되는데 찾지 못하면 no suitable error가 발생합니다.
connection객체를 연결하는 것으로 DriverManager에 등록된 각 드라이버들을 getConnection(String url) 메소들을 사용해서 식별합니다. url 식별자와 같은 것을 찾아 매핑하게 되는데 찾지 못하면 no suitable error가 발생합니다.
//접속
String url = "jdbc:oracle:thin:@localhost:1521:xe";
Connenction con = DriverManager.getConnection(url,"사용자 아이디","비밀번호");
저는 오라클이라는 데이터베이스를 쓰기에 url을 이렇게 작성했습니다.
하나하나 분석해봅시다.
-jdbc:subprotocal:subname = jdbc:oracle:thin(타입)
하나하나 분석해봅시다.
-jdbc:subprotocal:subname = jdbc:oracle:thin(타입)
-localhost는 오라클 데이터베이스가 로컬 서버에 설치되어있다는 말입니다.
-1521는 오라클 리스너의 포트번호
-1521는 오라클 리스너의 포트번호
(리스너란 네트워크를 이용하여 클라이언트에서 오라클 서버로 연결하기위한 오라클 네트워크 관리자 입니다.)
-xe는 오라클 데이터베이스 클라이언트에 고유한 서비스 네임//디폴트 값
-getConnection(url,hr,1234): 오라클 데이터베이스에 아이디와 비밀번호로 접속하여 Connection 객체를 리턴
-빨간줄이 뜨는 이유
i)Class.forName()메소드 설명에 기술
ii)getConnection메소드가 SQLExcepion 예외를 발생시키므로 반드시 예외처리를 해야합니다.
-xe는 오라클 데이터베이스 클라이언트에 고유한 서비스 네임//디폴트 값
-getConnection(url,hr,1234): 오라클 데이터베이스에 아이디와 비밀번호로 접속하여 Connection 객체를 리턴
-빨간줄이 뜨는 이유
i)Class.forName()메소드 설명에 기술
ii)getConnection메소드가 SQLExcepion 예외를 발생시키므로 반드시 예외처리를 해야합니다.
<추가 설명>
*connection 인터페이스
-DB와 연결을 해주기에, SQL쿼리문을 실행시키려면 반드시 Connection객체가 있어야 합니다.
-쿼리를 실행시키는 Statement/prepared Statement/CallablesStatement 객체를 얻어낼 때 사용됩니다.
*연결과 종료부분은 모든 메소드에 동일하게 적용되어, ConnectionManager 클래스를 따로 빼 분리하는게 편리합니다.
*Connenction con 같은 부분은 메소드 가장위에 선언해주어 return값에 끌어쓸 수 있게끔 합니다.
그 다음 단계는 다음 포스트에서 이어 기술하겠습니다.
수고하셨습니다!
*은노기의 jsp입문을 참고하였습니다.
'JSP' 카테고리의 다른 글
JDBC 프로그램의 작성단계 -3(Close) (0) | 2018.04.27 |
---|---|
JDBC 프로그램 작성단계-2 (Statement , Query, Resultset) (0) | 2018.04.27 |
Comments