2025년 8월 26일 화요일(64일차)

Jeonghoon·2025년 8월 26일

jeonghoon's Study

목록 보기
65/128

⚙️ 기타 기술 정리 노트

🧩 @RequestParam(required = false)

항목설명
required = false쿼리스트링 매개변수가 필수가 아님을 의미
required = true (기본값)매개변수가 반드시 포함되어야 함
활용 포인트매개변수 존재 여부에 따라 동적인 변수 선언 및 처리 필요

💡 예시:

@GetMapping("/search")
public String search(@RequestParam(required = false) String keyword) {
    if (keyword != null) {
        // keyword 기반 검색
    } else {
        // 전체 조회
    }
    return "result";
}

💾 SQL에서 와일드카드(%) 처리

항목설명
문제 상황SQL에서 LIKE 조건을 사용할 때, % 문자를 포함한 검색이 필요
해결 방법PreparedStatementsetXXX() 메서드에서 %를 포함하여 전달

📘 예시:

String sql = "SELECT * FROM post WHERE title LIKE ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, "%" + keyword + "%");

🧮 Java ↔ JavaScript 타입 주의

항목설명
문제 상황JS에서 Java로부터 받아온 int를 문자열로 인식함
해결 방법parseInt()로 숫자형 변환 후 연산 수행

⚠️ 예시:

let num = "1";  // Java에서 받은 값
console.log(num + 1);      // "11" (문자열 덧셈)
console.log(parseInt(num) + 1); // 2 (숫자 연산)

⏩ 이전 / 다음 페이지 버튼 유효성 검사

항목설명
문제 상황첫 페이지(0) 이하 또는 마지막 페이지(전체페이지 수 초과)로 이동하는 오류 발생 가능
해결 방법페이지 이동 전 유효성 검사 로직 추가

💡 예시:

if (page > 0 && page < totalPages) {
    movePage(page);
}

🔍 전체 조회 및 선택 검색 구현

항목설명
목적전체 조회 및 조건 검색을 하나의 메소드로 통합
핵심 포인트@RequestParam(required = false)을 활용하여 선택적 매개변수 처리
쿼리스트링 예시/list?keyword=java → keyword 검색
/list → 전체 조회

⚙️ 예시 코드:

@GetMapping("/list")
public List<Post> getList(@RequestParam(required = false) String keyword) {
    if (keyword != null) {
        return postService.search(keyword);
    } else {
        return postService.findAll();
    }
}

0개의 댓글