Rumah > Java > javaTutorial > Bagaimana untuk Memasukkan dan Mendapatkan Objek java.time.LocalDate dalam Pangkalan Data JDBC?

Bagaimana untuk Memasukkan dan Mendapatkan Objek java.time.LocalDate dalam Pangkalan Data JDBC?

Barbara Streisand
Lepaskan: 2024-12-20 08:53:10
asal
172 orang telah melayarinya

How to Insert and Retrieve java.time.LocalDate Objects in JDBC Databases?

Memasukkan & Mengambil Objek java.time.LocalDate ke/daripada Pangkalan Data SQL Seperti H2

Soalan: Cara mengendalikan jenis java.time seperti LocalDate melalui JDBC dengan pangkalan data SQL, seperti H2?

Pendekatan Warisan: Menggunakan PreparedStatement::setDate dan ResultSet::getDate berfungsi untuk jenis java.sql.Date yang sudah lapuk. Walau bagaimanapun, adalah lebih baik untuk mengelakkan kelas warisan bermasalah ini.

Pendekatan Moden: Terdapat dua laluan utama:

  1. JDBC 4.2 Pemandu Mematuhi: Jika pemandu JDBC menyokong JDBC 4.2 atau lebih baru, anda boleh terus bekerja dengan objek java.time. Pemacu ini mempunyai kaedah setObject dan getObject untuk penukaran jenis data.
  2. Pemacu Lama, Pra-JDBC 4.2: Untuk pemacu sebelum JDBC 4.2, tukar objek java.time kepada setara java.sql mereka buat sementara waktu dan sebaliknya. Gunakan kaedah penukaran baharu yang ditambahkan pada kelas lama.

Contoh Penggunaan Pemacu Mematuhi JDBC 4.2:

// Insert LocalDate as SQL DATE
preparedStatement.setObject(1, myLocalDate);

// Retrieve LocalDate from SQL DATE
LocalDate localDate = myResultSet.getObject("my_date_column", LocalDate.class);
Salin selepas log masuk

Contoh Penggunaan Tidak Mematuhi Pemandu:

// Convert LocalDate to java.sql.Date for insertion
java.sql.Date mySqlDate = java.sql.Date.valueOf(myLocalDate);
preparedStatement.setDate(1, mySqlDate);

// Convert java.sql.Date to LocalDate after retrieval
LocalDate localDate = mySqlDate.toLocalDate();
Salin selepas log masuk

Cadangan: Gunakan pendekatan yang mematuhi JDBC 4.2 apabila boleh. Ia lebih ringkas dan selamat jenis. Walau bagaimanapun, kaedah tidak patuh masih boleh digunakan untuk pemandu yang tidak menyokong JDBC 4.2.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan dan Mendapatkan Objek java.time.LocalDate dalam Pangkalan Data JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan