728x90
반응형

sql보안 2

Statement vs Prepared Statement

개요Java로 데이터베이스를 다룰 때 가장 많이 사용되는 두 가지 SQL 실행 방법이 Statement와 PreparedStatement입니다. 이 둘은 SQL 실행 방식, 보안, 성능 최적화 측면에서 큰 차이를 보이며, 잘못된 선택은 SQL Injection, 성능 저하 등의 문제로 이어질 수 있습니다. 이 포스트에서는 Statement와 PreparedStatement의 차이점, 사용법, 보안성, 성능 차이, 실무 활용 전략을 상세히 비교합니다.1. 개념 및 정의 항목 Statement Prepared Statement 정의실행할 SQL을 문자열로 직접 입력실행할 SQL을 미리 컴파일하고 파라미터로 값 주입사용 목적단순, 고정되지 않은 쿼리파라미터가 있는 반복 쿼리 실행SQL 실행 시점컴파일과 실..

Topic 2025.04.20

정적 SQL vs 동적 SQL(Static SQL vs Dynamic SQL)

개요SQL은 데이터베이스와 상호작용하기 위한 언어이며, 그 구현 방식에 따라 '정적 SQL(Static SQL)'과 '동적 SQL(Dynamic SQL)'로 나뉩니다. 정적 SQL은 미리 정의된 구조로 고정 실행되고, 동적 SQL은 실행 시점에 조건이나 구조가 바뀔 수 있어 유연성이 뛰어납니다. 이 포스트에서는 두 방식의 개념, 차이점, 장단점, 보안/성능 측면을 상세히 비교 분석합니다.1. 개념 및 정의 유형 정의 실행 시점 정적 SQL애플리케이션 코드 내에서 SQL 문이 고정되어 실행컴파일 시 SQL이 결정됨동적 SQL실행 시점에 문자열로 SQL 문을 구성하여 실행런타임에 SQL 생성 및 실행정적 SQL: 구조 고정, 반복 실행 최적화 용이동적 SQL: 유연한 조건 처리, 쿼리 구조 변화 가능2...

Topic 2025.04.20
728x90
반응형