Dalam JDBC, berurusan dengan kelas Tarikh boleh menjadi titik kesakitan yang ketara. Pangkalan data selalunya menyediakan berbilang format medan masa tarikh, termasuk tarikh, masa dan cap masa. JDBC menyediakan kelas Java yang sepadan untuk setiap format, semuanya mewarisi daripada java.util.Date.
Pemandu JDBC sering mengendalikan jenis ini secara salah, yang membawa kepada pepijat. Sebagai contoh, sql.Date mungkin khusus zon waktu, manakala sql.Time mungkin mengandungi tahun, bulan dan hari semasa walaupun tidak mempunyai maklumat tersebut dalam datanya.
Akhirnya, pilihan bergantung pada jenis SQL medan yang diakses. PreparedStatement menyediakan penetap untuk ketiga-tiga jenis: #setDate(), #setTime(), dan #setTimestamp().
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa menggunakan ps.setObject(fieldIndex, utilDateObject); dengan penggunaan biasa.Tarikh boleh membawa kepada isu apabila mendapatkan semula data daripada pangkalan data.
Sebaik-baiknya, tarikh dan masa hendaklah disimpan sebagai panjang biasa yang mewakili milisaat atau nanosaat. Ini boleh dengan mudah ditukar kepada dan daripada objek atau digunakan terus dalam pertanyaan SQL. Pendekatan ini mengelakkan kerumitan dan potensi perangkap JDBC/Java Date API.
Atas ialah kandungan terperinci Java Date vs. SQL Date: Mana Yang Perlu Anda Gunakan dalam JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!