SQL 실행 계획(EXPLAIN) 보는 방법
이 글에서는 EXPLAIN 의 기본 사용법부터 출력 결과의 각 컬럼이 의미하는 것, 실제로 문제가 되는 패턴, 그리고 개선 전후 비교까지 MySQL 기준으로 단계별로…
더보기
Java DB 처리 흐름 정리. JDBC부터 MyBatis까지 한 번에 이해하기
이 글은 그 흩어진 개념들을 하나의 흐름으로 연결하는 것이 목적이다. JDBC가 무엇인지부터 시작해서, CRUD 구현, 트랜잭션 처리, 커넥션 풀 도입, 그리고 MyBatis까지 이어지는 Java DB 처리 흐름을…
더보기
Java에서 커넥션 풀(Connection Pool) 이해하기 – JDBC 성능 개선 방법
데이터베이스 Connection을 새로 맺는 과정은 생각보다 무거운 작업이다. 이 글에서는 커넥션 풀이 왜 필요한지, 내부적으로 어떻게 동작하는지, Java에서 가장 널리 사용되는 HikariCP를 활용해 실제로…
더보기
Java 트랜잭션 처리 방법: commit과 rollback 제대로 이해하기
데이터가 절반만 저장된다면 어떻게 될까 쇼핑몰에서 상품을 주문했는데 주문 내역은 생성됐지만 결제는 실패했다면 어떻게 될까. 반대로 결제는 됐는데 주문 내역이 없다면? 은행 이체에서 내 계좌에서 돈이 빠져나갔는데…
더보기
Java에서 INSERT, UPDATE, DELETE 실행 방법
이 글에서는 Java에서 INSERT, UPDATE, DELETE 를 실행하는 방법을 실제 코드 예제와 함께 단계별로 정리한다. 개념 설명에 그치지 않고, 실제로 실행 가능한 코드를 기준으로 각 구문의 동작 방식과…
더보기
iBatis vs MyBatis 완전 비교 – 개념부터 실제 예제까지
이 글에서는 iBatis와 MyBatis의 탄생 배경부터 핵심 기능 차이, 실제 코드 예제, 그리고 현업에서의 선택 기준까지 체계적으로 다룬다. 단순한 기능 나열이 아니라, 각 선택이 실제 프로젝트에 미치는 영향을…
더보기
Java에서 MySQL 연결 하는 방법 — JDBC 기본부터 쿼리 실행까지
SQL 문법을 알고 있다는 것과, 그것을 애플리케이션에 녹여낼 수 있다는 것은 별개의 이야기이기 때문이다. 오늘은 Java에서 MySQL 연결 하는 내용을 기준으로 하여 어떻게 연결하는지 알아 보도록…
더보기
JOIN 차이, INNER JOIN과 LEFT JOIN 한 번에 정리
들어가는 말 INSERT, SELECT와 WHERE를 익히고 나면 데이터를 조회하는 기본기는 갖춰진 셈이다. 하나의 테이블에서 원하는 조건으로 데이터를 걸러내는 것, 그 자체만으로도 꽤 많은 것을 할 수 있다는…
더보기
SQL WHERE 조건 정리: 비교 연산자부터 NULL 처리까지
들어가며 데이터베이스를 처음 다룰 때 SELECT와 INSERT를 어느 정도 익히고 나면, 다음 단계에서 반드시 마주하게 되는 것이 WHERE 조건이다. 많은 입문자들이 SELECT 구문을 통해 테이블의 데이터를…
더보기
MySQL이 안될 때 재설치 전에 반드시 읽어야 할 글
들어가며 많은 사람들이 인터넷에 있는 가이드 글을 따라 MySQL Server를 설치한 후에 MySQL이 안될 때 정말 난감함을 느낀다. 분명 가이드 글과 같이 설치하고 실행까지 마쳤는데 예상과 달리 정상적으로…
더보기