티스토리 뷰
JDBC
- Java Database Connectivity
- 자바에서 DB 프로그래밍을 하기 위해 사용되는 API => 데이터베이스 종류에 상관없다.
DriverManger : JVM에서 JDBC 전체를 관리하는 클래스 Driver 등록, Connection 연결 작업 등
Driver : DB를 만드는 Vendor(Oracle, MS-SQL, MySQL 등)를 implements 하여
자신들의 DB를 연결할 수 있는 class를 만드는 인터페이스
Connection : DB와 연결성을 갖는 인터페이스
Statement : SQL문을 실행하는 인터페이스
ResultSet : 조회된 결과 데이터를 갖는 인터페이스
1. 제품군 선택 : Driver loading
MySQL의 JDBC Driver Class를 로딩한다.
˙Class.forName()을 이용해서 Driver Class를 로딩하면 객체가 생성되고, DriverManager에 등록된다.
ex) Class.forName("com.mysql.jdbc.Driver")
Class.forName("com.mysql.jdbc.Driver")
˙Driver 클래스를 찾지 못할 경우, ClassNotFoundException 예외가 발생한다.
2. DB 연결 객체 생성 : Connection
필요요소 - DB서버의 주소, 포트번호, 연결계정
˙ DriverManager.getConnection(String jdbcURL, String user, String password)
: DriverManager를 이용해서 Connection 객체 생성.
- jdbcURL -> "jdbc:Driver 종류://IP:포트번호/DB명" ex) "jdbc:mysql://localhost:3306/test_db"
- user -> MySQL 아이디
- password -> MySQL 비밀번호
ex) con = DriverManager.getConnection(url, user, pw)
3. 실행 객체 생성 : Statement
관련요소 - Sql문 작성, Sql문 실행요청
˙ PreparedStatement - 객체 생성, 객체 생성시 SQL 문장 저장
- SQL 문을 데이터베이스에 보내기위한 객체이다.
- pstmt = con.preparedStatement("SQL 문장")
4. pstmt.set<데이터타입>(? 순서, 값)
- ? 매개변수에 값을 지정한다.
- ex) pstmt.setString(1, 값), pstmt.setInt(2, 값)
5. SQL 문장을 실행하고 결과 리턴
˙ Connection.createStatement() : Statement가 제공하는 메서드로 쿼리 실행
- int executreUpdate(String query) : INSERT, UPDATE, DELETE 의 경우
- ResultSet executeQuery(String query) : SELECT 의 경우
6. 결과 객체 생성 : ResultSet
관련요소 - 행단위 데이터얻기, 열 데이터 얻기
데이터베이스 조회 결과집합에 대한 표준이다.
- next() : 데이터 조회 여부 확인. DB의 table 안의 row 한 줄을 불러온다.
- getString(), getInt() : 한 행의 특정 Column 값을 가져온다.
7. close
Connection, Statement, ResultSet에 대해 close 해준다.
'Web 개발 > JAVA' 카테고리의 다른 글
[Java] 숫자형 -> String형 형변환 (0) | 2022.08.21 |
---|---|
[Java] String형 -> 숫자형(int, double, float) 형변환 (0) | 2022.08.21 |
[Java] DecimalFormat - 숫자 Format 변경하기 (0) | 2022.01.27 |
[Java] FileWriter 클래스 - 파일 출력하기 (0) | 2022.01.26 |
[Java] 문자열(String) 비교하는 방법 (==, equals, compare) (0) | 2022.01.06 |
- Total
- Today
- Yesterday