아치 음식거리 웹사이트의 SSM 기반 설계 및 구현

시스템 아키텍처 설계 본 시스템은 전통적인 음식 거리의 정보를 중심으로 운영되는 웹 플랫폼으로, 모듈 기반의 계층적 아키텍처를 채택하였다. 주요 구성 요소는 다음과 같다. 음식점 관리 모듈: 식당 등록, 정보 수정, 위치 및 메뉴 관리 사용자 인증/권한 모듈: RBAC 기반의 역할 기반 접근 제어 시스템 리뷰 및 평점 시스템: 사용자 리뷰 수집 및 평균 점수 산출 ...

6월 4일 22:41에 게시됨

MyBatis에서 일대일 및 일대다 관계 처리를 위한 `<association>` 설정 사용법

<association>는 MyBatis에서 일대일 또는 일대다 관계를 처리하는 매핑 요소로, 쿼리 결과의 중첩 데이터를 Java 객체의 속성에 매핑하는 데 사용됩니다. 복잡한 데이터베이스 쿼리 결과를 중첩 객체로 매핑해야 할 때 특히 유용합니다. 1. 기능과 용도 일대일 관계: 객체가 하나의 연결 객체를 포함할 때(예: Employee는 하나의 Department에만 속함) <associa ...

6월 4일 18:13에 게시됨

Oracle IN 절 1000개 초과 문제 해결 방법

개요: 문제 상황: 예제 쿼리: select * from member where id in (1, 2, 3, ...) **오류 메시지:**Cause: java.sql.SQLException: ORA-01795: 목록의 최대 표현식 수는 1000입니다 **설명:**Oracle 데이터베이스에서 IN (...) 절을 사용할 때 괄호 안의 값이 1000개를 초과하면 오류가 발생합니다. 해결 방안: 이 문제를 해결하기 위한 세 가지 방법을 소개합니다 ...

6월 3일 22:59에 게시됨

Spring Boot와 MyBatis로 기본 CRUD API 구현하기

이번 글에서는 Spring Boot와 MyBatis를 이용해 기본적인 데이터 CRUD 기능을 제공하는 REST API를 구현하는 방법을 정리한다. MySQL 데이터베이스에 user 테이블을 생성하고, MyBatis의 XML 매퍼와 어노테이션을 혼용하여 간단한 사용자 관리 API를 만든다. 1. 데이터베이스 테이블 준비 다음과 같은 user 테이블을 MySQL에 생성한다. CREATE TABLE user ( id INT AU ...

5월 30일 21:16에 게시됨

MyBatis 활용 가이드

1. MyBatis 개요 및 기본 구성 요소 MyBatis는 JDBC를 간소화하고 SQL 쿼리와 자바 객체 간의 매핑을 용이하게 해주는 프레임워크입니다. 다음은 MyBatis를 사용하는 간단한 예제입니다. 1.1 JDBC 대신 MyBatis 사용하기 다음은 JDBC를 직접 사용하는 코드의 예시입니다: Connection conn = DriverManager.getConnection(url, username, password); PreparedStatemen ...

5월 23일 14:27에 게시됨

Redis 기반 메뉴 캐싱과 장바구니 기능 구현

메뉴 데이터 캐싱을 통한 성능 최적화 1. Redis를 활용한 메뉴 정보 캐싱 사용자 앱에서 메뉴 목록을 요청할 때마다 데이터베이스 조회가 발생하면, 트래픽 증가 시 DB 부하가 심화되어 응답 지연이 발생할 수 있다. 이를 해결하기 위해 Redis를 사용하여 자주 조회되는 메뉴 데이터를 캐싱하는 전략을 도입한다. 캐싱 전략 설계 카테고리별로 메뉴 목록을 별도의 키 ...

5월 19일 17:05에 게시됨