반응형
JDBC란?
Java DataBase Connectivity
- DB에 접속할 수 있도록하는 자바API.
- 각 데이터베이스마다 JDBC를 연결해주는 Driver가 따로 있기 때문에 각 DB에 맞는 JDBC Driver를 다운 받아 적용한다. (example. ojabc.jar)
※ 현재는 잘 쓰이지 않지만, 워낙 많이 사용되었기에 아직도 남아있는 JDBC코드가 많습니다.
기본기라 생각되어 간단히 정리해 봅니다.
💡 시작 전 DB driver를 lib폴더에 담아주어야 합니다.
2025.01.01 - [💾 Data Base/⭕ Oracle] - [Oracle]ojdbc8.jar 위치. (+프로젝트 내 폴더 위치)
간단 실습
- Class.forName("oracle.jdbc.driver.OracleDriver");
→ 드라이버 연결. 그대로 적으시면 됩니다. - String url = "jdbc:oracle:thin:@localhost:1521:orcl";
→ 그대로 적으시면 됩니다. - String userName, password
→ 오라클 설치 시 만든 비밀번호와 아이디(초기아이디 system) 적으시면 됩니다. - Connection con = DriverManager.getConnection(url, userName, password);
→ 계정 연결. - sql은 String으로 적으면 됩니다.
보통 저렇게 줄바꿈을 하면서 적어줍니다. - Statement stmt = con.createStatement();
→ Satement : SELECT문 사용시, DB에 쿼리를 보내는 용 객체. - ResultSet rs = stmt.executeQuery(sql);
→ ResultSet : SELECT문 사용시, 쿼리 결과를 저장하는 객체. 결과 테이블.
→ executeQuery : 쿼리실행.
💡그리고 rs.getInt(), rs.getString() 등은 데이터 타입에 맞게 가져오시면 됩니다. - while(rs.next()) : 테이블 형태로 오기 때문에 while()문을 사용해 값을 추출합니다.
- 사용 후 모두 종료해줍니다.
rs.close();
stmt.close();
con.close();
💡 꼭 try/catch문을 이용해
} catch (ClassNotFoundException e) { 를 잡아주세요.
전체코드
더보기
import java.sql.*;
public class App {
public static void main(String[] args) throws Exception {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String userName = "";
String password = "";
Connection con = DriverManager.getConnection(url, userName, password);
String sql ="SELECT * " +
"FROM HR.JOBS";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getString(1)+" "+rs.getString(2));
}
rs.close();
stmt.close();
con.close();
System.out.println("드라이버 연결 성공");
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
}
}
INSERT문 사용시
String sql = " INSERT INTO DEPT "
+ " VALUES (?, ?, ?) ";
PreparedStatement pstm = null;
pstm = con.prepareStatement(sql);
pstm.setInt(1, deptno);
pstm.setString(2, dname);
pstm.setString(3, loc);
int res = pstm.executeUpdate();
if (res > 0) {
System.out.println("입력 성공");
- INSERT / DELETE / UPDATE 는 몇 개가 수정되었는 지 갯수만 반환되기에 간단합니다.
- 다만 사용법이 위와 같이 다를 뿐.
스프링 부트를 활용한 예제 이지만 JDBC코드는 동일하기 때문에
insert / select/ update는 아래 포스트의 예제를 추천드립니다.
2025.01.08 - [🍃 Spring/🍃 Spring Boot] - [SpringBoot]DB접근기술-순수JDBC
반응형
'☕ JAVA > ☕ 개발환경' 카테고리의 다른 글
[JAVA]view ↔ java ↔ DB 연결 정리 (1) | 2025.01.03 |
---|---|
[JAVA]자바 API 소스 보기 (0) | 2024.11.19 |
[JAVA]단순히 정리한 JVM구조와 Memory(+static) (0) | 2023.01.08 |
아주 간단하게 설명한 개발환경. JVM, JRE, JDK (0) | 2023.01.01 |