- [Java] 126. 연습 : JDBC-HikariCP를 사용해 코드 작성하기Song hyun[Java] 126. 연습 : JDBC-HikariCP를 사용해 코드 작성하기 (1) DBConnectionManager-Connection을 사용해 MySQL에 접속, 연결하는 역할-HikariCP를 사용해 커넥션 풀을 활용함 => 커넥션 풀을 사용시, SQL 접속에 들어가는 자원 고갈을 최소화할 수 있음.*하지만 커넥션 풀은 메모리 소모가 크다.**커넥션(Connection)의 실행 주체는 Thread이다.package ver2;import java.sql.SQLException;import java.sql.Connection;import com.zaxxer.hikari.HikariConfig;import com.zaxxer.hikari.HikariDataSource;import lombok.Sync..
- 2024-06-18 10:34:43
- [Java] 125. JDBC 실습 : 학생 정보 관리 시스템 만들기Song hyun[Java] 125. JDBC 실습 : 학생 정보 관리 시스템 만들기💡 학습 목표💡 JDBC를 사용하여 학생 관리 시스템을 구축해 보자. 학생의 정보를 데이터베이스에 저장하고 관리하는 간단한 시스템을 구축합니다.학생 정보를 추가, 조회, 수정, 삭제할 수 있는 기능을 구현합니다. 기능 요구사항 학생 정보 추가 학생 정보 조회 학생 정보 수정 학생 정보 삭제 비기능 요구사항 사용자 친화적인 콘솔 인터페이스 제공 적절한 예외 처리 및 로그 기록 데이터베이스 연결 풀 사용(HikariCP) 1. 데이터베이스 설계 및 테이블 생성-테이블 -컬럼create database studentdb; CREATE TABLE students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARC..
- 2024-06-17 13:02:40
- [Java] 124. JDBC에서의 예외 처리Song hyun[Java] 124. JDBC에서의 예외 처리 1. SQLException 다루기-- DML DCL DDL -- 컬럼 추가하는 쿼리를 만들어보자.drop table users;create table users( id int auto_increment primary key, username varchar(100) not null unique, password varchar(100) not null);desc users;alter table users add column email varchar(100) null;-- 이메일에다가 unique 제약을 추가해보자.alter table users add constraint unique_email unique(email);insert into users..
- 2024-06-17 11:47:51
- [Java] 123. HikariCP 라이브러리를 프로젝트에 추가하기Song hyun[Java] 123. HikariCP 라이브러리를 프로젝트에 추가하기 https://github.com/brettwooldridge/HikariCP GitHub - brettwooldridge/HikariCP: 光 HikariCP・A solid, high-performance, JDBC connection pool at last.光 HikariCP・A solid, high-performance, JDBC connection pool at last. - brettwooldridge/HikariCPgithub.com https://mvnrepository.com/artifact/com.zaxxer/HikariCP *HikariCP 라이브러리 사용을 위해 다른 라이브러리 설정이 필요하다. https://mv..
- 2024-06-17 11:06:21
- [Java] 122. JDBC 성능 최적화Song hyun[Java] 122. JDBC 성능 최적화 1. PreparedStatement 사용의 장점2. 연결 풀(Connection Pool)과 데이터 소스(Data Source)1. PreparedStatement 사용의 장점 PreparedStatement는 SQL 쿼리를 미리 컴파일하고, 동일한 쿼리를 반복해 실행할 때 효율적으로 사용할 수 있는 인터페이스이다. (1) 성능 향상-쿼리 컴파일: SQL 쿼리를 미리 컴파일 해, 쿼리를 여러번 실행할 때 컴파일 시간을 절약할 수 있다.-쿼리 계획 재사용: 동일한 쿼리를 반복적으로 실행할 때, 쿼리 계획을 재사용하여 실행 시간을 단축할 수 있다. (2) 보안 향상-SQL 인젝션 방지: 쿼리와 데이터가 분리되어 있어, SQL 인젝션 공격을 방지할 수 있다. * 사..
- 2024-06-17 09:51:27
- [Java] 121. JDBC를 활용한 CRUD와 SOLID 원칙 (2)Song hyun[Java] 121. JDBC를 활용한 CRUD와 SOLID 원칙 (2)콘솔을 활용한 퀴즈 게임 만들기 - 리팩토링하기 *https://whatsthatsound.tistory.com/337 에서 작성한 코드를 리팩토링해보자. * 리팩토링= 코드를 보기 좋게 정리하는 것 or 성능을 향상시키는 것. ** DB 연결을 처리하는 클래스를 따로 분리하면, 재사용성과 유지보수성이 높아진다(1) 리팩토링 1단계 : 클래스를 분리한다. (=DBConnectionManager)*static {} 블록 - 정적 초기화 블록: /클래스가 처음 로드될 때 한 번 실행된다. 정적 변수의 초기화나 복잡한 초기화 작업을 수행할 때 사용되며, static{} 블록 안에 예외를 던질 수도 있다. 메서드는 따로 분리자주 쓰이는 객체..
- 2024-06-14 11:20:48
- [Java] 120. JDBC를 활용한 CRUD와 SOLID 원칙 (1)Song hyun[Java] 120. JDBC를 활용한 CRUD와 SOLID 원칙 (1)콘솔을 활용한 퀴즈 게임 만들기 콘솔을 활용한 퀴즈 게임 만들기 *설계 과정(사이클)(1) DB, 테이블 펄스 (DB부터 설계한다.)(2) 기본 데이터 입력(정규화)(3) 자바측 라이브러리 설정(4) 자바측 기능 구현 및 테스트(5) 리팩토링 (1) DB, 테이블 펄스 (DB부터 설계한다.) -- 데이터베이스 생성create database quizdb;use quizdb;create table quiz( ID int auto_increment primary key, question varchar(500) not null, answer varchar(500) not null);desc quiz; (2) 기본 데이터 입력(정..
- 2024-06-14 10:46:08
- [Java] 119. 트랜잭션과 배치 처리Song hyun[Java] 119. 트랜잭션과 배치 처리 1. 배치 처리란? 2. 코드 예제 : PreparedStatement를 사용한 배치 처리 1. 배치 처리란?(1) 배치 처리의 개념: 배치 처리(Batch Processing)란 데이터를일괄적으로 모아서 한 번에 처리하는 방법을 말한다. 배치 처리는 대량의 데이터를 처리하거나, 주기적으로 실행되는 작업을 자동화하는 데 사용된다. 일반적으로 대화형 사용자 입력 없이 실행되며, 백그라운드에서 작업이 수행된다. (2) 배치 처리의 특징:-배치 처리(Batch Processing)은 여러 SQL문을 한 번에 실행하여 성능을 향상시키는 방법이다.-여러 SQL문을 하나의 배치로 묶어서 데이터 베이스에 전송하고 실행한다.-(1) Statement 및 (2) Prepar..
- 2024-06-13 15:36:19
- [Java] 118. 코드 예제 : 트랜잭션을 이용해 MySQL 쿼리 내부에 데이터 생성하기Song hyun[Java] 118. 코드 예제 : 트랜잭션을 이용해 MySQL 쿼리 내부에 데이터 생성하기 *문제:블로그의 게시글, 유저, 댓글을 관리하는 m_board라는 테이블이 있다.트랜잭션과 수동 커밋 기능을 사용해, 게시글과 댓글 레코드를 생성하고 조회해보자. *왜 수동 커밋을 사용하는가?=> JDBC에서 디폴트는 자동 커밋이다. 만약 트랜잭션을 실행할 때, 한 실행문에서 오류가 발생한다면 그 구문만 실행이 되지 않고, 다른 곳에서는 실행이 되는 현상이 발생한다.=> 디폴트=자동 커밋=> 트랜잭션의 원자성(Atomicity)를 활용하기 위함! *전체 코드package ch04;import java.lang.invoke.StringConcatFactory;import java.sql.DriverManager;..
- 2024-06-12 15:29:32
- [Java] 117. 트랜잭션의 개념과 트랜잭션 관리Song hyun[Java] 117. 트랜잭션의 개념과 트랜잭션 관리1. 트랜잭션 관리란?2. 트랜잭션의 개념과 중요성 3. 자동 커밋 모드와 수동 커밋 모드 4. 코드 예제 1. 트랜잭션 관리란?-트랜잭션은 여러SQL 문을 하나의 작업단위로 묶어주는 것을 의미한다.-commit은 트랜잭션을 완료하여 변경사항을 저장하고, rollback 은 트랜잭션을 취소하여 변경사항을 되돌린다!2. 트랜잭션의 개념과 중요성*트랜잭션(Transaction)이란?: 데이터베이스에서 하나의 논리적인 작업 단위를 의미한다. 여러 SQL 문이 하나의 작업으로 묶여 실행된다. *트랜잭션은 원자성, 일간성, 고립성, 지속성이라는 특징들을 가지고 있다.=> ACID 특성! (1) 원자성(Atomicity): 트랜잭션의 모든 작업이 성공적으로 완료..
- 2024-06-12 14:53:42
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)