른록노트
[Java] DriverManager를 이용한 JDBC 사용 방법 본문
@ 설명
1. 드라이버 로딩
Class.forName("oracle.jdbc.driver.OracleDriver"); //oracle, mysql 등 DB 드라이버 설정
2. DB 연결
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORA92","scott","tiger");
//Connection을 사용하기 위해서는 java.sql.Connection을 임포트 해야함
//conn이라는 커넥션을 만든 후 DriverManager의 getConnection을 통해 DB를 연결해줌
//DriverManager를 사용하려면 java.sql.DriverManager를 임포트 해줘야함
//첫 매개변수는 DB url이다, jdbc:oracle:thin:@ip:포트:오라클SID
jdbc:mysql://ip:포트/db이름
//두번째 매개변수는 id 이다.
//세번째 매개변수는 pw 이다.
이 연결부분은 SQLException으로 Try-Catch 예외처리를 해줘야한다
3. 쿼리준비
PreparedStatement psmt = null;
psmt = conn.prepareStatement("DB쿼리문");
//혹은
Statement stmt = null;
stmt = conn.createStatement("DB쿼리문");
//java.sql.Statement 임포트
//psmt는 파라미터를 사용가능
사용법)
psmt = conn.prepareStatement("select * from TableName where id=?");
psmt.setString(1, id);
4. 쿼리실행
psmt.executeUpdate();
//리턴값으로 데이터를 받아오지 않는 쿼리문은 executeUpdate를 이용해 실행
5. 데이터 가져오기
ResultSet rs = null;
rs = psmt.executeQuery();
//java.sql.ResultSet을 이용해서 쿼리실행 한 것을 ResultSet으로 받아들인다.
while(rs.next()) {
int i=1;
String id = rs.getString(i++);
String name = rs.getString(i++);
String addr = rs.getString(i++);
};
//rs.next()를 이용해 한줄 씩 읽어드리고
//rs.get을 이용해서 값을 가져와 변수 혹은 dto객체 등에 저장하여 사용한다
6. 커넥션 닫기
if(rs!=null){
try{
rs.close();
}catch(SQLException e){
}
};
if(psmt!=null){
try{
psmt.close();
}catch(SQLException e){
}
};
if(conn!=null){
try{
conn.close();
}catch(SQLException e){
}
};
//닫을 때는 open한 반대의 순서로 닫아주어야 한다.
//이것이 JDBC의 기본적인 구조인데 실제적으로 사용할때는 제공되는 커넥션풀(ConnectionPool)등을 사용해서 이미 만들어진 커넥션을 사용하기 때문에 1번 과정은 pass하고 2번과정부터 커넥션풀에서 커넥션을 얻어오는 방식으로 사용하게 되는 경우가 많다.
참고사이트