자료구조(Data Structure)

💡 학습 목표JDBC를 사용하여 학생 관리 시스템을 구축해 보자.학생의 정보를 데이터베이스에 저장하고 관리하는 간단한 시스템을 구축합니다.학생 정보를 추가, 조회, 수정, 삭제할 수 있는 기능을 구현합니다.  기능 요구사항학생 정보 추가학생 정보 조회학생 정보 수정학생 정보 삭제비기능 요구사항사용자 친화적인 콘솔 인터페이스 제공적절한 예외 처리 및 로그 기록데이터베이스 연결 풀 사용(HikariCP) >> 프로젝트 설계 데이터베이스 설계 및 테이블 생성테이블 - tbstudent 컬럼 - id, name, age, emailcreate database studentdb;CREATE TABLE students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCH..
💡 학습 목표JDBC에서 발생할 수 있는 예외를 이해하고 효과적으로 처리하는 방법을 배웁니다.예외 발생 시 로그를 기록하고, 사용자에게 유용한 피드백을 제공하는 방법을 알아 보자.  SQLException 다루기SQLException은 JDBC에서 발생할 수 있는 일반적인 예외입니다. 이 예외는 데이터베이스와의 통신 중에 발생하는 오류를 나타냅니다. SQLException은 다양한 속성과 메서드를 제공하여 예외에 대한 상세한 정보를 제공합니다.주요 속성 및 메서드:getErrorCode(): 데이터베이스 벤더가 제공하는 특정 오류 코드를 반환합니다.getSQLState(): SQLState 코드를 반환합니다. 이 코드는 표준 SQL 상태 코드를 나타냅니다.getMessage(): 예외 메시지를 반환합니..
💡 성능 향상 기법PreparedStatement 사용의 장점연결 풀 (Connection Pool) 사용데이터 소스 (Data Source)의 개념연결 풀의 장점(Connection Pool)캐싱 전략  1. PreparedStatement 사용의 장점PreparedStatement는 SQL 쿼리를 미리 컴파일하고, 동일한 쿼리를 반복해서 실행할 때 효율적으로 사용할 수 있는 인터페이스입니다. 이는 성능과 보안 측면에서 많은 장점을 제공합니다.성능 향상:쿼리 컴파일: SQL 쿼리를 미리 컴파일하여, 쿼리를 여러 번 실행할 때 컴파일 시간을 절약할 수 있습니다.쿼리 계획 재사용: 동일한 쿼리를 반복적으로 실행할 때, 쿼리 계획을 재사용하여 실행 시간을 단축할 수 있습니다.보안 향상:SQL 인젝션 방지:..
콘솔을 활용한 간단한 퀴즈 게임 만들어 보기1. DB , 테이블 설계2. 기본 데이터 입력(정규화) 3. 자바측 라이브러리 설정 4. 자바측 기능 구현 및 테스트 5. 리팩토링 SQL DB -- 데이터베이스 생성 create database quizdb; use quizdb;drop table quiz;create table quiz( id int auto_increment primary key, question varchar(500) not null, answer varchar(500) not null);desc quiz;-- 기본 샘플 데이터 입력 insert into quiz(question, answer ) values ('대한민국의 수도는?', '서울'), ('한반도의..
1. 트랜잭션 관리(commit, rollback)트랜잭션은 여러 SQL 문을 하나의 작업 단위로 묶어주는 것을 의미합니다. commit은 트랜잭션을 완료하여 변경사항을 저장하고, rollback은 트랜잭션을 취소하여 변경사항을 되돌립니다. 트랜잭션의 개념과 중요성트랜잭션의 개념:트랜잭션(Transaction)은 데이터베이스에서 하나의 논리적인 작업 단위를 의미합니다. 여러 SQL 문이 하나의 작업으로 묶여서 실행됩니다.트랜잭션은 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)의 특성을 갖습니다. 이를 ACID 특성이라고 합니다.💡트랜잭션원자성 (Atomicity) 원자성은 트랜잭션의 모든 작업이 성공적으로 완료되거나, 전혀 실행되지..
Createpackage ch03;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class InsertExample { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydb2?serverTimezone=Asia/Seoul";; String user = "root"; String password = "asd123"; //..
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";..
💡 JDBC 드라이버 설치 다양한 DBMS별 JDBC 드라이버 설치 방법이 존재 합니다.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 드라이버 다운로드드라이..
💡JDBC 구성요소(아키텍처)JDBC 아키텍처는 Java 애플리케이션과 데이터베이스 사이의 상호작용을 담당하는 여러 구성 요소로 이루어져 있습니다. 각 구성 요소는 특정 역할을 수행하며, 이들이 어떻게 작동하는지 이해하는 것이 중요합니다. JDBC 구성 요소DriverManagerDriverConnectionStatementResultSetSQLException1. DriverManagerDriverManager 는 JDBC 드라이버들을 관리하는 클래스입니다. 데이터베이스 연결을 설정하기 위해 사용됩니다.애플리케이션이 데이터베이스에 연결 요청을 하면, DriverManager 는 적절한 JDBC 드라이버를 찾아 연결을 설정합니다.마치 여행사와 같습니다. 여행사는 여러 항공사와 협력하여 고객에게 적합한 ..
💡JDBC란?JDBC는 Java Database Connectivity의 약자로, Java 프로그램에서 데이터베이스에 연결하고 SQL 쿼리를 실행하여 데이터를 주고받는 표준 API입니다.JDBC는 마치 커피숍에서 주문하는 바리스타와 같습니다. 우리가 원하는 커피를 주문하면 바리스타는 커피 머신과 재료를 사용해 커피를 만들어줍니다. JDBC는 Java 애플리케이션이 데이터베이스와 대화할 수 있도록 도와주는 중간다리입니다.    JDBC 개발 배경1990년대 중반, 기업들은 데이터를 효율적으로 저장하고 관리하기 위해 다양한 데이터베이스 관리 시스템(DBMS)을 사용하기 시작했습니다. 그러나 문제는 각 데이터베이스가 서로 다른 접근 방식을 요구했다는 점입니다. 예를 들어, Oracle 데이터베이스에 접근하는..
CNOW
'자료구조(Data Structure)' 카테고리의 글 목록