[JDBC] like문 사용법

2023. 1. 18. 00:40· BackEnd/JDBC

데이터베이스에서 원하는 형태의 문자열을 찾고 싶은 경우 like문을 활용할 수 있다. 이런 경우 아래와 같이 코드를 작성하면 에러가 발생한다.

 

// 생략
String sql = "SELECT * FROM users WHERE name LIKE '?'";
try (Connection connection = DriverManager.getConnection(dbUrl, dbUser, dbPasswd);
        PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
    preparedStatement.setString(1, keyword);
// 생략

이런 경우 preparedStatement에서 sql문의 ?를 인식하지 못하여 전달할 파라미터가 없다고 판단하는 것 같다. 즉, 파라미터가 없는데 우리가 preparedStatement.setString(1, keyword);에서 파라미터를 넘겨주므로 에러가 발생하는 것이다. 이런 경우 아래와 같이 코드를 작성하면 올바르게 동작한다.

// 생략
String sql = "SELECT * FROM users WHERE name LIKE ?";
try (Connection connection = DriverManager.getConnection(dbUrl, dbUser, dbPasswd);
        PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
    preparedStatement.setString(1, "%"+keyword+"%");
// 생략
저작자표시 (새창열림)

'BackEnd > JDBC' 카테고리의 다른 글

[JDBC] MySQL Datetime 타입 저장 방법  (0) 2023.01.31
[JDBC] DTO/DAO/VO 간단한 정리  (0) 2023.01.26
JDBC 예제 코드 (select, insert, delete)  (0) 2022.12.26
JDBC란?  (0) 2022.12.26
'BackEnd/JDBC' 카테고리의 다른 글
  • [JDBC] MySQL Datetime 타입 저장 방법
  • [JDBC] DTO/DAO/VO 간단한 정리
  • JDBC 예제 코드 (select, insert, delete)
  • JDBC란?
코딩마루
코딩마루
Nam's Study Note코딩마루 님의 블로그입니다.
코딩마루
Nam's Study Note
코딩마루
전체
오늘
어제
  • 분류 전체보기 (169)
    • BackEnd (88)
      • JSP & Servlet (12)
      • Java (12)
      • JDBC (5)
      • Spring (55)
      • Spring Security (3)
      • AWS (6)
      • Docker (0)
    • FrontEnd (4)
      • HTML (4)
    • Algorithm (23)
      • Brute Force (2)
      • Greedy (2)
      • Graph (2)
      • Dynamic Programming (4)
      • Divide and Conquer (1)
      • Data Structure (11)
    • AI (4)
      • NLP (4)
    • DB (29)
      • Oracle (13)
      • MySQL (15)
    • Data (8)
      • Crawling (8)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.3.0
코딩마루
[JDBC] like문 사용법
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.