백엔드/Spring Boot
[Spring] DB(오라클) 연동
an_apricot__
2021. 6. 2. 23:45
<오라클 연동 후 기본 제공 테이블(EMP)의 데이터 출력하기>
import java.sql.*;
public class DBConnection {
//필드(field)
Connection conn;
Statement stmt;
ResultSet rs;
//생성자(constructor)
public DBConnection() {
try {
//1
Class.forName("oracle.jdbc.driver.OracleDriver");
//2
String url = "jdbc:oracle:thin:@127.0.0.1:1521"; //오라클 서버의 네번째 db 타입(thin)으로 접근하는 주소
String user = "scott"; //기본 제공 아이디로 로그인
String password = "tiger";
conn = DriverManager.getConnection(url, user, password);
//3
stmt = conn.createStatement();
} catch (SQLException e) {
// TODO: handle exception
}
}
//Method
public void getResult() {
try {
//4
String sql = "select * from emp";
rs = stmt.executeQuery(sql);
//5
while(rs.next()) {
//하나의 row 출력 >> rs.getInt(columnIndex);
System.out.print(rs.getInt(1)+"\t");
System.out.print(rs.getString(2)+"\t");
System.out.print(rs.getString(3)+"\t");
System.out.print(rs.getInt(4)+"\t");
System.out.print(rs.getString(5)+"\t");
System.out.print(rs.getInt(6)+"\t");
System.out.print(rs.getInt(7)+"\t");
System.out.print(rs.getInt(8)+"\n");
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
1. 드라이버 로딩 - 빌드패스로 연결해준 jar 파일의 압축을 풀어 경로 확인 가능
2. Connection 객체 생성
3. Statement 객체 생성 - 데이터를 운반해주는 택시 역할
4. ResultSet 객체 생성 - sql 필요!
5. ResultSet 객체에서 데이터 가져오기
- rs.next() ---> rs의 row를 한 줄씩 넘기며 가져옴. 데이터가 있으면 true, 없으면 false
** sql의 종류와 사용 용도에 따라 알맞은 execute~ 메소드를 사용해야함
- executeQuery : 쿼리의 실행결과(테이블)를 ResultSet에 담아옴 (리턴타입: ResultSet)
- executeUpdate : sql 실행시 스크립트에 나오는 "n행이 삽입/수정/삭제 되었습니다."의 n값을 가져옴(리턴타입: int)