PostgreSQL JDBC 사용법을 정리하려 한다.
우선 JAVA에서 JDBC를 이용하여 DB를 사용하려 하면 JDBC 실행해주는 Driver부터 설치해야 한다.
사용하는 DB(MySQL, PostgreSQL.. )에 따라서 홈페이지에서 설치해주면 된다.
Driver 설치
-우선 Driver를 설치한다.
-설치 후 프로젝트 설정> Libraries> 다운로드한 jar파일 선택
Programming
1. 드라이버 로드
Class.forName("org.postgresql.Driver");
2. DB 접속
Connection conn = null;
conn= DriverManager.getConnection(url,user,passwd);//Conenction인스턴스 생성
3. Statement생성 & SQL전송
//member 테이블 모든 원소 추출 SQL쿼리
String sql = "select * from member";
Statement stmt =null;
...
stmt=conn.createStatement();
rs=stmt.executeUpdate(sql1);
4. 결과받기
//SQL실행
rs=stmt.executeQuery(sql);
//받은 레코드들을 한줄씩 수행
while(rs.next()) {
int Id = rs.getInt("mid");
String Name = rs.getString("name");
String Number = rs.getString("number");
String Address = rs.getString("address");
System.out.println("ID : " + Id + " Name : " + Name + " Numebr : " + Number + " Address : " + Address);
}
결과 소스코드
package com.company;
import java.sql.*;
public class selectQeury {
public static void main(String[] args) {
Connection conn = null;
String url="jdbc:postgresql://localhost:5432/DB명";
String user="ID";
String passwd="비밀번호";
ResultSet rs= null; //쿼리 실행 결과값 받아오기
Statement stmt =null;
String sql = "select * from member";
try{
//드라이버 로딩
Class.forName("org.postgresql.Driver");
System.out.println("driver loading Success");
try{
//DB접속
conn= DriverManager.getConnection(url,user,passwd);
System.out.println("connect success");
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
while(rs.next()) {
int Id = rs.getInt("mid");
String Name = rs.getString("name");
String Number = rs.getString("number");
String Address = rs.getString("address");
System.out.println("ID : " + Id + " Name : " + Name + " Numebr : " + Number + " Address : " + Address);
}
System.out.println("executeQuery success");
rs.close();
stmt.close();
conn.close();
}catch (SQLException e){
System.out.println(e);
System.out.println("DB접속에러");
}
}catch (Exception e){
System.out.println("Exception: "+e);
}
}
}
정리 및 요약
- JDBC는 Java언어로 작성된 프로그램을 DB에 연결해줄 수 있게 하는 인터페이스, 클래스 집합체이다.
- 3가지 인터페이스( Connection, Statement, ResultSet)
- Connection 은 Java와 DB를 연결하는 객체의 인터페이스이다
- Statement 주요 메서드
메서드명 | 리턴타입 | 기능 |
execute(String sql) | boolean | sql문 실행하고 실패하면 false반환 |
executeQuery(String sql) | ResultSet | sql문 실행하고 결과로 Resultset반환 |
executeUpdate(String sql) | int | 쿼리문 실행하고 영향을 받은 행의 갯수나 0을 반환 실패한 경우 에러발생 |
close() | void | Statement 리소스 반환 |
- ResultSet은 sql실행 후 결과가 있을 때만 사용
- try/catch 해주기
- JDBC 드라이버 로딩> connection 인스턴스 생성(DB 연결) > Statement로 쿼리 실행 > ResultSet으로 결과받아서 필요한 데이터 처리 > Connection, Statement, ResultSet를 close() 해주기