Spring Boot Quartz를 활용한 동적 스케줄링 및 DB 영속화 구현
Quartz는 Java 환경에서 널리 사용되는 강력한 작업 스케줄링 프레임워크입니다. Spring Boot와 통합하면 단순한 반복 작업을 넘어, 실행 중에 스케줄을 변경하거나 작업 상태를 데이터베이스에 저장하여 서버 재시작 후에도 작업을 유지하는 영속화 기능을 쉽게 구현할 수 있습니다.
1. 의존성 설정
Spring Boot 프로젝트에서 Quartz를 사용하기 위해 다음의 의존성을 po ...
8월 13일 16:46에 게시됨
Apache Commons DbUtils를 사용한 CRUD 작업
Apache Commons DbUtils는 JDBC 코딩의 부담을 크게 줄여주는 Apache 재단에서 제공하는 오픈 소스 JDBC 유틸리티 라이브러리입니다. 이 라이브러리는 JDBC API를 단순화하여 개발 생산성을 향상시키면서도 성능 저하 없이 사용할 수 있습니다.
주요 API는 다음과 같습니다:
org.apache.commons.dbutils.QueryRunner: SQL 쿼리 실행을 단순화합니다.
org.apache.comm ...
8월 7일 15:31에 게시됨
SMBMS 슈퍼마켓 관리 시스템의 역할 목록 조회 기능 구현
1. RoleDao 인터페이스 정의
데이터베이스에서 역할(Role) 정보를 가져오기 위한 DAO 인터페이스를 작성합니다.
package com.thhh.dao.role;
import com.thhh.pojo.Role;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
public interface RoleDao {
// 시스템 내의 모든 역할 목록을 조회하는 메서드
List<Role> fetc ...
8월 3일 19:34에 게시됨
SpringBoot - 05. JDBC를 통한 데이터 접근 (소스 코드 분석 + 코드 다운로드)
목차
JDBC란?
Spring Boot에서 JDBC 사용하기
자동 설정 원리
JdbcTemplate
Swagger 설정 및 테스트
CRUD 연산 테스트
에러 해결 방법
一. JDBC란?
JDBC(Java Database Connectivity)는 Java 표준 API 중 하나로, Java 애플리케이션이 데이터베이스에 연결하여 SQL문을 실행할 수 있게 해주는 기술입니다. JDBC는 다음과 같은 주요 기능을 제공합니다:
데이터베이스 ...
8월 3일 15:53에 게시됨
Java 원격 Access 데이터베이스 연결 방법 두 가지
1. RmiJDBC를 활용한 Access 데이터베이스 원격 접속
일반적으로 SQL Server, Oracle, MySQL 같은 DBMS는 서버에서 서비스로 실행되며, Java는 JDBC를 통해 원격 연결이 쉽습니다. 하지만 소규모 프로젝트나 특수 상황에서는 이러한 무거운 DBMS 대신 Access가 더 적합할 수 있습니다. 원격에서 Java로 Access 데이터베이스에 접근해야 할 때 RmiJDBC 라이브러리를 사용할 ...
8월 3일 13:49에 게시됨
Arthas를 활용한 JDBC 드라이버 클래스 데드락 문제 해결 과정
문제 상황
마이크로서비스 프로젝트를 개발하던 중, 데이터베이스 연결 생성 과정에서 블로킹 상태에 빠지는 문제가 발생했습니다. 프로그램이 로그를 출력한 후 멈춰서 더 이상 새로운 로그가 표시되지 않았습니다. 이에 Arthas를 사용하여 문제를 추적하고, 발견된 원인을 해결했습니다.
환경
소프트웨어버전
JDK1.8
Spring Boot2.1.1.RELEASE
Hutool5.5.5
문제 원 ...
7월 22일 05:54에 게시됨
MapperScannerConfigurer 설정 오류로 인한 데이터베이스 연결 속성 로드 실패
MyBatis와 Spring 프레임워크를 통합하여 애플리케이션을 개발할 때, 데이터베이스 연결과 관련된 설정 오류는 흔히 발생할 수 있습니다. 특히 MapperScannerConfigurer의 구성 방식에 따라 db.properties 파일에 정의된 데이터베이스 연결 매개변수가 제대로 로드되지 않아 JDBC 드라이버 초기화에 실패하는 경우가 있습니다.
문제 현상
애플리케이션을 시작할 때, 다음 ...
7월 21일 23:29에 게시됨
MyBatis 활용 시 주의사항 및 최적화 전략
데이터베이스와 애플리케이션 간의 상호작용을 위해 MyBatis와 같은 ORM(Object-Relational Mapping) 프레임워크를 사용하는 것은 일반적인 개발 패턴입니다. 하지만 편리함 뒤에는 몇 가지 함정과 최적화 기회가 존재합니다. 이 글에서는 MyBatis를 효과적으로 사용하기 위한 중요한 고려사항들을 다룹니다.
1. 파라미터 처리: #{} vs ${}
MyBatis에서 SQL 쿼리에 파라미 ...
7월 9일 20:07에 게시됨
Spring 트랜잭션 관리의 아름다운 구현 방식
트랜잭션 개념 정리
트랜잭션은 논리적으로 연결된 작업 단위로, 모든 처리가 성공적으로 완료되거나 전혀 수행되지 않도록 보장합니다.
트랜잭션 특성 (ACID)
원자성: 트랜잭션은 분할될 수 없는 최소 실행 단위로, 전체 처리가 완료되거나 무효화됩니다.
일관성: 트랜잭션 수행 전후 데이터 상태가 일치해야 합니다.
격리성: 병행 처리 시 다른 트랜잭션의 영향을 받지 ...
7월 9일 02:11에 게시됨
자바 JDBC 데이터베이스 프로그래밍 실습 가이드
자바 JDBC를 활용한 데이터베이스 연동
이 문서는 자바 애플리케이션에서 JDBC(Java Database Connectivity)를 사용하여 데이터베이스를 조작하는 방법을 안내합니다. 기본적인 SQL 명령어부터 시작하여 JDBC API를 통한 데이터베이스 연결, 쿼리 실행, 효율적인 코드 패턴 및 고급 기능까지 다룹니다.
1. 데이터베이스 기본 조작 (콘솔 환경)
JDBC 프로그래밍에 앞서, My ...
7월 8일 19:06에 게시됨