Java와 Oracle을 연동하기 위해선 JDBC를 사용해야 한다.

JDBC는 오라클을 설치하고 나면 아래 경로에서 가져올 수 있다.

오라클이 설치된 곳\product\11.2.0\dbhome_1\jdbc\lib

프로젝트에 JDBC 라이브러리를 추가한 후 사용하면 된다.


자바로 드라이브 불러오기 - 실제로 라이브러리를 불러오는 동작

 

1
Class.forName("oracle.jdbc.driver.OracleDriver");
cs

 


자바에서 오라클DB 접속 url에서 'jdbc:oracle:thin:데이터베이스가있는 ip:데이터베이스의 포트번호:데이터베이스 SID


1
2
url="jdbc:oracle:thin:@localhost:1521:oracle";
conn = DriverManager.getConnection(url,id,pw); 
cs

 

 

자바에서 오라클로 쿼리를 날릴때 사용 - Statement, PreparedStatement 클래스

쿼리를 날릴 때 Insert, Delete, Update 와 같은 데이터 수정은 executeUpdate() 메소드를 사용하고, Selete와 같은 데이터 검색은 executeQuery() 메소드를 사용하여 결과를 ResultSet으로 리턴받아 검색 결과를 받을 수 있음

Statement는 해당 쿼리를 만드는데 들어가는 유동적인 값을 일일히 +연산자를 통해 연결해서 넣어줘야하지만

PreparedStatement를 사용하면 쿼리문에 들어갈 값을 '?'로 처리한뒤 setXXX(String, Int 등) 메소드를 통해 쉽게 넣을 수 있다.


Statement 클래스 사용시

1
2
3
4
5
6
7
Statement stat = conn.createStatement();        
ResultSet rs = stat.executeQuery("select count(*) from USER_TABLE 
          where USER_ID = '"+"admin"+"' and USER_PW = '"+"admin"+"'");
while(rs.next()){
    String result = rs.getString(1);
    System.out.println(result);
}
cs
PreparedStatement 사용시

1
2
3
4
5
PreparedStatement pstmt = null;
final String sql = "select * from lab_client_table where userid = ?";
pstmt= conn.prepareStatement(sql);
pstmt.setString(1, userid);
ResultSet rs = pstmt.executeQuery();
cs

 

사용이 끝나면 close해서 자원회수를 한다.

 

1
2
3
rs.close();
stat.close();
conn.close();
cs


+ Recent posts