> 데이터 베이스 > MySQL 튜토리얼 > IllegalArgumentException을 피하기 위해 ReadyStatements에서 setDate()를 올바르게 사용하는 방법은 무엇입니까?

IllegalArgumentException을 피하기 위해 ReadyStatements에서 setDate()를 올바르게 사용하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2025-01-18 22:37:10
원래의
168명이 탐색했습니다.

How to Properly Use setDate() in PreparedStatements to Avoid IllegalArgumentException?

준비문에서 IllegalArgumentExceptionsetDate() 피하기

하드코딩된 SQL 쿼리에서 매개변수화된 준비된 문으로 마이그레이션하면 코드 유지 관리성과 보안이 향상됩니다. 그러나 setDate()을 사용하면 IllegalArgumentException이 발생하는 경우가 있습니다. 이 가이드에서는 java.sql.Datejava.sql.Timestamp을 사용한 솔루션을 보여줍니다.

DATE 열 처리

DATE 유형의 데이터베이스 열의 경우 다음 방법을 사용하여 날짜 매개변수를 올바르게 설정하세요.

  • 문자열 사용: 'yyyy-MM-dd' 형식으로 날짜 문자열 제공:

    <code class="language-java"> ps.setDate(2, java.sql.Date.valueOf("2013-09-04"));</code>
    로그인 후 복사
  • java.util.Date 사용: java.util.Date 객체 변환:

    <code class="language-java"> java.util.Date endDate = ...; // Your java.util.Date object
     ps.setDate(2, new java.sql.Date(endDate.getTime()));</code>
    로그인 후 복사
  • 현재 날짜 설정: 현재 날짜 삽입:

    <code class="language-java"> ps.setDate(2, new java.sql.Date(System.currentTimeMillis()));</code>
    로그인 후 복사

TIMESTAMP 또는 DATETIME 열 처리

데이터베이스 열이 TIMESTAMP 또는 DATETIME 유형인 경우 다음 옵션과 함께 setTimestamp()을 사용하세요.

  • 문자열 사용: 'yyyy-MM-dd HH:mm:ss[.f...]' 형식으로 날짜 및 시간 문자열 제공:

    <code class="language-java"> ps.setTimestamp(2, java.sql.Timestamp.valueOf("2013-09-04 13:30:00"));</code>
    로그인 후 복사
  • java.util.Date 사용: java.util.Date 객체 변환:

    <code class="language-java"> java.util.Date endDate = ...; // Your java.util.Date object
     ps.setTimestamp(2, new java.sql.Timestamp(endDate.getTime()));</code>
    로그인 후 복사
  • 현재 타임스탬프 설정: 현재 타임스탬프 삽입:

    <code class="language-java"> ps.setTimestamp(2, new java.sql.Timestamp(System.currentTimeMillis()));</code>
    로그인 후 복사

이러한 지침을 따르면 IllegalArgumentException을 피하면서 준비된 명령문에서 날짜 및 타임스탬프 매개변수를 안정적으로 설정할 수 있습니다. 데이터베이스 열의 데이터 유형에 따라 적절한 방법(setDate() 또는 setTimestamp())을 선택해야 합니다.

위 내용은 IllegalArgumentException을 피하기 위해 ReadyStatements에서 setDate()를 올바르게 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿