본문 바로가기

Java

(96)
JDBC에서의 예외 처리 SQLException 다루기SQLException은 JDBC에서 발생할 수 있는 일반적인 예외이다. 이 예외는 데이터베이스와의 통신 중에 발생하는 오류를 나타낸다. SQLException은 다양한 속성과 메서드를 제공하여 예외에 대한 상세한 정보를 제공한다.  주요 속성 및 메서드getErrorCode(): 데이터베이스 벤더가 제공하는 특정 오류 코드를 반환한다.getSQLState(): SQLState 코드를 반환합니다. 이 코드는 표준 SQL 상태 코드를 나타낸다.getMessage(): 예외 메시지를 반환한다.getNextException(): 체인된 예외를 반환한다.  SQL 작성select * from user;-- DML DCL DDL -- 컬럼 추가하는 쿼리를 만들어 보자. drop tab..
JDBC 성능 최적화 💡 성능 향상 기법PreparedStatement 사용의 장점연결 풀 (Connection Pool) 사용데이터 소스 (Data Source)의 개념연결 풀의 장점(Connection Pool)캐싱 전략 1. PreparedStatement 사용의 장점PreparedStatement는 SQL 쿼리를 미리 컴파일하고, 동일한 쿼리를 반복해서 실행할 때 효율적으로 사용할 수 있는 인터페이스이다. 이는 성능과 보안 측면에서 많은 장점을 제공한다.성능 향상쿼리 컴파일: SQL 쿼리를 미리 컴파일하여, 쿼리를 여러 번 실행할 때 컴파일 시간을 절약할 수 있다.쿼리 계획 재사용: 동일한 쿼리를 반복적으로 실행할 때, 쿼리 계획을 재사용하여 실행 시간을 단축할 수 있다.보안 향상SQL 인젝션 방지: 쿼리와 데이터가..
JDBC 트랜잭션 관리와 배치 처리 트랜잭션 관리(commit, rollback)트랜잭션은 여러 SQL 문을 하나의 작업 단위로 묶어주는 것을 의미한다. commit은 트랜잭션을 완료하여 변경사항을 저장하고, rollback은 트랜잭션을 취소하여 변경사항을 되돌린다.  트랜잭션의 개념과 중요성트랜잭션의 개념트랜잭션(Transaction)은 데이터베이스에서 하나의 논리적인 작업 단위를 의미한다. 여러 SQL 문이 하나의 작업으로 묶여서 실행된다.트랜잭션은 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)의 특성을 갖는다. 이를 ACID 특성이라고 한다.원자성 (Atomicity)원자성은 트랜잭션의 모든 작업이 성공적으로 완료되거나, 전혀 실행되지 않은 상태를 보장힌다. 트랜..
래퍼 클래스 ( Wrapper Class ) 래퍼 클래스 (Wrapper Class)란?자바의 자료형은 크게 기본 타입(primitive type)과 참조 타입(reference type)으로 나누어진다. 대표적으로 기본 타입은 char, int, float, double, boolean 등이 있고 참조 타입은 class, interface 등이 있는데 프로그래밍을 하다 보면 기본 타입의 데이터를 객체로 표현해야 하는 경우가 종종 있다. 이럴 때에 기본 자료타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스들을 래퍼 클래스(wrapper class)라고 한다.  예제실습package ch01;public class MainTest1 { public static void main(String[] args) { // 박싱, ..
JDBC 기본 사용법 DriverManager를 이용한 연결DriverManager 클래스는 JDBC 드라이버를 관리하고 데이터베이스와의 연결을 설정하는 데 사용된다.드라이버 로드:먼저 JDBC 드라이버를 메모리에 로드한다.try { Class.forName("com.mysql.cj.jdbc.Driver"); // MySQL 드라이버 로드} catch (ClassNotFoundException e) { e.printStackTrace();}  데이터베이스 연결DriverManager.getConnection() 메소드를 사용하여 데이터베이스와의 연결을 설정한다. 예제코드String url = "jdbc:mysql://localhost:3306/mydatabase?serverTimezone=Asia/Seoul";St..
JDBC 설치 및 설정 1. MySQL드라이버 다운로드:MySQL의 공식 웹사이트에서 MySQL Connector/J를 다운로드한다.MySQL Connector/J 다운로드드라이버 설정:다운로드한 ZIP 파일을 압축 해제 한다.mysql-connector-java-.jar 파일을 Java 프로젝트의 클래스패스에 추가 한다.IDE (예: IntelliJ, Eclipse)를 사용하는 경우, 프로젝트 설정에서 라이브러리를 추가하여 JAR 파일을 클래스패스에 포함시킬 수 있다. 2. Oracle드라이버 다운로드:Oracle의 공식 웹사이트에서 JDBC 드라이버를 다운로드한다.Oracle JDBC 드라이버 다운로드드라이버 설정:다운로드한 JAR 파일 (ojdbc8.jar 등)을 Java 프로젝트의 클래스패스에 추가한다.IDE를 사용하는..
JDBC 구성 요소 ( 아키텍처 ) JDBC 구성 요소(아키텍처)란?JDBC 아키텍처는 Java 애플리케이션과 데이터베이스 사이의 상호작용을 담당하는 여러 구성 요소로 이루어져 있다. 각 구성 요소는 특정 역할을 수행하며, 이들이 어떻게 작동하는지 이해하는 것이 중요하다. JDBC 구성 요소DriverManagerDriverConnectionStatementResultSetSQLException 1. DriverManagerDriverManager 는 JDBC 드라이버들을 관리하는 클래스이다. 데이터베이스 연결을 설정하기 위해 사용된다.애플리케이션이 데이터베이스에 연결 요청을 하면, DriverManager 는 적절한 JDBC 드라이버를 찾아 연결을 설정한다.마치 여행사와 같다. 여행사는 여러 항공사와 협력하여 고객에게 적합한 항공편을 찾..
JDBC란? JDBC란?JDBC는 Java Database Connectivity의 약자로, Java 프로그램에서 데이터베이스에 연결하고 SQL 쿼리를 실행하여 데이터를 주고받는 표준 API이다. JDBC는 마치 커피숍에서 주문하는 바리스타와 같다. 우리가 원하는 커피를 주문하면 바리스타는 커피 머신과 재료를 사용해 커피를 만들어준다. JDBC는 Java 애플리케이션이 데이터베이스와 대화할 수 있도록 도와주는 중간다리이다.  JDBC 개발 배경1990년대 중반, 기업들은 데이터를 효율적으로 저장하고 관리하기 위해 다양한 데이터베이스 관리 시스템(DBMS)을 사용하기 시작했다. 그러나 문제는 각 데이터베이스가 서로 다른 접근 방식을 요구했다는 점이다. 예를 들어, Oracle 데이터베이스에 접근하는 방식과 MySQL ..

728x90