728x90
반응형
JDBC 라이브러리
- 자바는 데이터베이스(DB)와 연결해서 데이터 입출력 작업을 할 수 있도록 JDBC 라이브러리(java.sql 패키지)를 제공.
- JDBC는 데이터베이스 관리시스템(DBMS)의 종류와 상관없이 동일하게 사용할 수 있는 클래스와 인터페이스로 구성.
JDBC Driver
- JDBC 인터페이스를 구현한 것으로, DBMS마다 별도로 다운로드 받아 사용.
- DriverManager 클래스 : JDBC Driver를 관리하며, DB와 연결해서 Connection구현 객체 생성.
- Connection 인터페이스 : Statement, PreparedStatement, Callablestatement 구현 객체를 생성하며, 트랜잭션 처리 및 DB 연결을 끊을 때 사용.
- Statement 인터페이스 : SQL의 DDL과 DML 실행 시 사용.
- PreparedStatement : SQL의 DDL, DML 문 실행 시 사용. 매개변수환된 SQL문을 써 편리성과 보안성 유리.
- Callablestatement : DB에 저장된 프로시저와 함수를 호출.
(프로시저 : DB에 대한 일련의 작업을 정리한 절차를 관계형 데이터베이스 관리 시스템에 저장한 것) - ResultSet : DB에서 가져온 데이터를 읽음.
INSERT문
- 테이블에 새로운 정보를 저장하는 INSERT문 실행.
- INSERT문을 String 타입 변수 sql에 문자열로 대입.
- 매개변수화된 SQL문을 실행하기 위해 Connection의 prepareStatement()메서드로부터 PrepareStatement얻음.
- 값을 지정한 후 execute.Update() 메서드를 호출하며 SQL문이 실행되면서 테이블에 1개의 저장.
- close() 메서드를 호출하면 PreparedStatement가 사용했던 메모리 해제.
UPDATE 문
- JDBC를 이용해서 UPDATE 문을 실행.
- prepareStatement() 메서드로부터 PreparedStatement를 얼고, ?에 해당하는 값을 지정.
- executeUpdate() 메서드를 호출. 수정된 행의 수가 리턴.
DELETE 문
- JDBC를 이용해서 DELETE 문을 실행.
- 매개변수화된 DELETE 문을 String 타입 변수 sql에 대입.
- prepareStatement() 메서드로부터 PreparedStatement를 얻고 ?에 값을 지정한 후, executeUpdate로 SQL문을 실행.
ResultSet 구조
- SELECT 문에 기술된 컬럼으로 구성된 행(row)의 집합.
- 커서(cursor)가 있는 행의 데이터만 읽을 수 있음.
- first 행을 읽으려면 next() 메서드로 커서 이동.
데이터 행 읽기
- 커서가 있는 데이터 행에서 각 컬럼의 값은 Getter 메서드로 읽음.
- SELECT 문에 연산식이나 함수 호출이 포함되어 있다면 컬럼 이름 대신에 컬럼 순번으로 읽어야 함.
사용자 정보 읽기
- 사용자 정보를 가져오는 SELECT 문. prepareStatement() 메소드로부터 PreparedStatement를 얻고, ?에 값을 지정.
- executeQuery() 메서드로 SELECT 문을 실행해서 ResultSet을 얻음.
- if 문을 이용해서 next() 메서드사 true를 리턴할 경우에는 데이터 행을 User 객체에 저장하고 출력.
https://github.com/bottomsUp-99?tab=repositories
728x90
반응형
'Java Study' 카테고리의 다른 글
Lamda(람다식) (0) | 2024.07.12 |
---|---|
제네릭(Generic)이란? (0) | 2024.07.10 |
예외 처리(Exception Handling) (1) | 2024.07.07 |
인터페이스(Interface) (0) | 2024.07.02 |
추상화 (3) | 2024.07.01 |