SQLASTVisitorAdapter 사용법 및 활용 사례

SQLASTVisitorAdapter 개념 정의 SQLASTVisitorAdapter는 SQL 문 구조를 탐색하는 데 사용되는 추상 클래스로, 모든 노드 탐색 메서드를 기본적으로 구현하고 있습니다. 핵심 기능: SQLASTVisitor 인터페이스를 구현한 상위 클래스 모든 visit 메서드를 공백으로 구현한 어댑터 역할 수행 필요한 노드만 재정의하여 사용 가능 기초 사용 예제 목표: SQL 문에서 모든 ...

7월 14일 18:08에 게시됨

드루이드 연결 풀 메모리 관리: OOM 오류 방지를 위한 핵심 설정

드루이드 연결 풀 메모리 관리: OOM 오류 방지를 위한 핵심 설정 애플리케이션이 갑자기 중단되고 로그에 OutOfMemoryError가 가득 찬 경험을 해본 적이 있나요? 알리클라우드 DataWorks 팀이 개발한 데이터베이스 연결 풀인 드루이드는 강력한 메모리 관리 메커니즘을 제공하지만, 잘못된 설정은 여전히 메모리 누수와 OOM을 유발할 수 있습니다. 본문에서는 안정적인 연 ...

6월 30일 23:00에 게시됨

Spring Boot에서 Druid 데이터소스 설정 시 'spring.datasource' 바인딩 실패 문제 해결

문제 상황 Spring Boot 프로젝트에서 Druid를 사용하여 데이터소스를 구성할 때, application.yml 파일에 정의된 설정이 javax.sql.DataSource에 바인딩되지 않으며, 다음과 같은 오류가 발생한다: Failed to bind properties under 'spring.datasource' to javax.sql.DataSource Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Priority 이는 spring.data ...

6월 23일 23:50에 게시됨

Druid SQLUtils API 사용 가이드

Druid SQLUtils API 활용 방법 SQLUtils는 Druid 내장 SQL 파서의 핵심 유틸리티 클래스로, SQL 포맷팅, 파싱, AST 변환, 테이블/필드 추출, SQL 검증 및 재작성 기능을 제공합니다. MySQL, Oracle, SQL Server 등 다양한 데이터베이스 방언을 지원하며, SQL 감사, 권한 제어, 동적 SQL 생성에 활용되는 필수 도구입니다. 의존성 추가 Maven 의존성 <dependency> ...

6월 20일 19:37에 게시됨

Druid SQLStatement 인터페이스 완벽 가이드: AST 기반 SQL 파싱과 활용

Druid SQL 파싱 엔진은 SQL 문자열을 구조화된 Java 객체(추상 구문 트리, AST)로 변환합니다. 이 과정에서 최상위 인터페이스가 바로 SQLStatement이며, 모든 SQL 유형(SELECT, INSERT, UPDATE, DELETE 등)은 이 인터페이스의 서브클래스 인스턴스로 표현됩니다. SQLStatement는 SQL AST의 모든 노드가 구현하는 SQLObject 인터페이스를 상속합니다. 1. SQLStatement 클 ...

6월 18일 21:02에 게시됨

Spring Boot 3에서 Druid 데이터베이스 풀 통합하기

Spring Boot 3 환경에서 Druid 커넥션 풀을 적용할 때 호환성 문제로 인해 접속 오류가 발생하는 경우가 있습니다. 본 문서는 이러한 문제를 해결하고 올바르게 설정하는 방법을 안내합니다. Maven 의존성 추가 pom.xml 파일에 다음 의존성을 포함시켜야 합니다: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-sprin ...

6월 11일 23:49에 게시됨

Spring Boot와 MySQL을 이용한 간단한 데이터 조회 구현

프로젝트 아키텍처 구성 1. 컨트롤러 계층 (Controller) package com.example.controller; import com.example.model.User; import com.example.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind. ...

6월 9일 19:05에 게시됨

MySQL 드라이버와 Druid 커넥션 풀 설정 불일치로 인한 Full GC 발생 원인 및 해결 방안

초기 대응 및 현황 파악 장애 발생 당시 3개의 인스턴스에서 Full GC가 발생했으며, 나머지 인스턴스들의 Old Generation 영역도 임계치에 도달해 있었습니다. 다수의 인스턴스가 동시에 Full GC에 진입하면 서비스 전체의 연쇄 장애(Snowball) 현상이 발생할 수 있으므로, 현장 조사를 위해 하나의 인스턴스를 격리한 후 나머지 인스턴스들을 순차적으로 재시작하는 롤링 ...

6월 6일 17:51에 게시됨