> 데이터 베이스 > MySQL 튜토리얼 > JDBC를 사용하여 SQL 데이터베이스에 Java.time 개체를 삽입하고 검색하려면 어떻게 해야 합니까?

JDBC를 사용하여 SQL 데이터베이스에 Java.time 개체를 삽입하고 검색하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2025-01-22 01:26:09
원래의
598명이 탐색했습니다.

How Do I Use JDBC to Insert and Retrieve Java.time Objects in an SQL Database?

JDBC 및 SQL 데이터베이스와 Java.time 객체 통합

이 문서에서는 JDBC(Java Database Connectivity)를 사용하여 java.time.LocalDate 객체를 SQL 데이터베이스와 원활하게 통합하는 방법을 보여줍니다.

JDBC 4.2 이상: 직접 상호 작용

최신 JDBC 드라이버(JDBC 4.2 이상)는 java.time 객체를 직접 지원합니다. H2 데이터베이스 드라이버와 같은 드라이버는 효율적인 데이터 전송을 위해 setObjectgetObject 메서드를 활용합니다. LocalDate을 삽입하려면 PreparedStatement.setObject을 사용하여 적절한 객체 유형을 지정해야 합니다. 검색에서는 ResultSet.getObject을 사용하며, 마찬가지로 향상된 유형 안전성을 위해 예상되는 반환 유형을 지정합니다.

비준수 JDBC 드라이버 처리

JDBC 4.2 규정을 준수하지 않는 구형 드라이버의 경우 레거시 java.sql 날짜-시간 클래스를 활용해야 합니다. LocalDate을 사용하여 java.sql.Datejava.sql.Date.valueOf(myLocalDate)로 변환합니다. 반대로 java.sql.Date를 사용하여 검색된 LocalDate을 다시 java.sql.Date.toLocalDate()으로 변환합니다.

예시(H2 데이터베이스)

다음 예에서는 H2 데이터베이스를 사용하는 규정 준수 및 비준수 접근 방식을 모두 보여줍니다.

<code class="language-java">// JDBC 4.2 compliant approach
LocalDate today = LocalDate.now();
preparedStatement.setObject(1, today.minusDays(1));

// Non-compliant approach
java.sql.Date mySqlDate = java.sql.Date.valueOf(myLocalDate);
preparedStatement.setDate(1, mySqlDate);</code>
로그인 후 복사

java.time 프레임워크 활용

java.time 프레임워크(Java 8부터 사용 가능)는 레거시 날짜-시간 클래스를 대체합니다. 특히 JDBC 4.2 호환 드라이버의 경우 데이터베이스 상호 작용과 함께 java.time 개체를 직접 사용하는 것이 좋습니다. 많은 최신 JDBC 드라이버와 ORM(예: Hibernate 5.0)은 java.time 유형

에 대한 기본 지원을 제공합니다.

주요 고려사항

  • java.time.LocalDate은 SQL DATE 데이터 유형에 매핑됩니다.
  • JDBC 드라이버는 Oracle, 데이터베이스 공급업체 및 타사 라이브러리에서 구할 수 있습니다.
  • ThreeTen-Backport 라이브러리는 java.time 기능을 Java 6 및 7로 확장합니다.
  • Android 버전 26 이상에는 java.time 지원 기능이 내장되어 있습니다. ThreeTenABP는 이전 Android 버전에 맞게 ThreeTen-Backport를 채택했습니다.

위 내용은 JDBC를 사용하여 SQL 데이터베이스에 Java.time 개체를 삽입하고 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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