JDBC (Java DataBase Connectivity) 기본 객체
Connection
- 데이터베이스와의 연결을 관리하는 객체
- DriverManager.getConnection(url, username, password): 데이터베이스에 연결
- createStatement(): Statement 객체 생성
- prepareStatement(sql): PreparedStatement 객체 생성
- getMetaData(): DatabaseMetaData 객체 생성
Statement(stmt)
- SQL 문장 전달 및 실행을 담당하는 기본 객체
- statement의 exexute메서드를 사용해 쿼리를 내보내고, 그 결과값을 받는다.
- 정적인 SQL 문장 실행
- boolean execute( String sql ):
- SQL 문장 실행시키고 결과를 리턴
- 리턴값이 ResultSet일 경우 true, 아니면 false를 출력 - ResultSet executeQuery( String sql )
- 주로 조회문( SELECT , SHOW)에 사용 - int executeUpdate( String sql ):
- UPDATE/INSERT/DELETE일때 실행 후 영향 받은 행의 수를 반환하고, SELECT문에서는 사용하지 않고, executeQuery로 실행
- DDL(CREATE, DROP, ALTER)일때 영향 받은 행의 수를 반환 하지 않아 0을 반환(DDL문은 사용되지않)
- String sql은 쿼리로 일반적으로 미리 변수로 작성
PreparedStatement(pstmt)
- 미리 컴파일된 SQL 문장을 실행하는 객체
- stmt와 비슷하지만 반복해서 사용 할 경우 pstmt를 사용
- 매개변수화된 쿼리 처리
- setXXX(): 값을 설정하여 SQL 문장 실행
- execute(), executeQuery(), executeUpdate(): SQL 문장 실행
CallableStatement
- 데이터베이스의 저장 프로시저 실행에 사용
- 저장 프로시저 호출에 사용되는 메서드 제공
- prepareCall(sql): CallableStatement 객체 생성
ResultSet
- SQL 쿼리 결과를 보유하고 탐색하는 객체
- next(): 다음 행으로 이동하여 데이터 읽기
- getString(columnName), getInt(columnName): 열(컬럼)에서 데이터 가져오기
DatabaseMetaData
- 데이터베이스에 대한 정보 제공
- getTables(): 테이블 정보 조회
- getColumns(): 열(컬럼) 정보 조회
DriverManager
- JDBC 드라이버를 등록하고 관리
- registerDriver(): 드라이버 등록
- getConnection(): 데이터베이스에 연결
Blob/Clob (Binary Large Object/Character Large Object)
- 이진 또는 문자 데이터 다루기 위한 객체
- 대용량 데이터 다룰 때 사용됨
데이터 정의어
- DDL (Data Definition Language)
- 데이터베이스 구조를 정의하거나 조작하는 명령어로, 테이블 생성, 변경 및 삭제 등을 다룹니다.
- CREATE: 테이블, 뷰, 인덱스 등을 생성합니다.
- ALTER: 테이블 구조를 변경합니다.
- DROP: 테이블, 뷰, 인덱스 등을 삭제합니다.
- TRUNCATE: 테이블의 모든 데이터를 삭제합니다.
- 데이터베이스 구조를 정의하거나 조작하는 명령어로, 테이블 생성, 변경 및 삭제 등을 다룹니다.
- DML (Data Manipulation Language)
- 데이터 조작을 위한 명령어로, 데이터를 조회, 삽입, 수정, 삭제하는 작업을 다룹니다.
- SELECT: 데이터를 조회합니다.
- INSERT: 데이터를 삽입합니다.
- UPDATE: 데이터를 수정합니다.
- DELETE: 데이터를 삭제합니다.
- 데이터 조작을 위한 명령어로, 데이터를 조회, 삽입, 수정, 삭제하는 작업을 다룹니다.
- DCL (Data Control Language)
- 데이터 접근 권한을 제어하는 명령어로, 데이터를 접근하고 조작하는 권한을 부여하거나 박탈합니다.
- GRANT: 사용자에게 특정 작업에 대한 권한을 부여합니다.
- REVOKE: 사용자의 권한을 박탈합니다.
- 데이터 접근 권한을 제어하는 명령어로, 데이터를 접근하고 조작하는 권한을 부여하거나 박탈합니다.
출처
https://m.blog.naver.com/javaking75/140159367130