Rumah >pangkalan data >tutorial mysql >Bagaimanakah Java dan MySQL Mengendalikan Masa dan Cap Masa?
Berinteraksi dengan Datetimes MySQL dan Cap Masa dalam Java
Apabila bekerja dengan kedua-dua tarikh dan cap masa dalam pangkalan data MySQL daripada aplikasi Java, ia adalah penting untuk memahami cara jenis data ini diwakili dan dikendalikan dalam kedua-duanya persekitaran.
Perwakilan Java
Di Java, tarikh biasanya diwakili menggunakan kelas java.util.Date, yang merangkum kedua-dua maklumat tarikh dan masa dengan ketepatan milisaat.
Perwakilan MySQL
Dalam MySQL, terdapat tiga jenis data tarikh dan masa utama:
Interaksi Antara Java dan MySQL
Apabila mendapatkan semula nilai TIMESTAMP daripada MySQL ke dalam Java, hasilnya disimpan dalam objek java.sql.Timestamp , yang merupakan subkelas java.util.Date. Apabila memasukkan tarikh ke dalam MySQL menggunakan PreparedStatement, kaedah setTimestamp() hendaklah digunakan untuk menetapkan nilai parameter sebagai objek Timestamp.
Contoh Kod
Untuk menunjukkan bagaimana untuk berinteraksi dengan masa MySQL dan cap masa dari Java, pertimbangkan kod berikut:
import java.sql.*; public class DatetimeExample { public static void main(String[] args) throws SQLException { // Establish a connection to the MySQL database Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/database_name", "username", "password"); // Get a timestamp object representing the current date and time Timestamp timestamp = new Timestamp(System.currentTimeMillis()); // Create a prepared statement to insert data into the database PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO events (event_date, event_time) VALUES (?, ?)"); // Set the timestamp value as the first parameter preparedStatement.setTimestamp(1, timestamp); // Set the second parameter as the time part of the timestamp preparedStatement.setTime(2, new Time(timestamp.getTime())); // Execute the insert statement preparedStatement.executeUpdate(); // Retrieve the inserted data using a result set ResultSet resultSet = preparedStatement.executeQuery("SELECT event_date, event_time FROM events WHERE event_id = (SELECT LAST_INSERT_ID())"); // Get the timestamp from the result set Timestamp retrievedTimestamp = resultSet.getTimestamp("event_date"); // Convert the timestamp to a Java date Date retrievedDate = new Date(retrievedTimestamp.getTime()); // Print the retrieved date and time System.out.println("Retrieved date: " + retrievedDate); System.out.println("Retrieved time: " + new Time(retrievedTimestamp.getTime())); } }
Dalam contoh ini, kami menunjukkan cara menggunakan objek Timestamp untuk memasukkan kedua-dua bahagian tarikh dan masa ke dalam pangkalan data MySQL dan mendapatkannya sebagai objek Tarikh dan Masa dalam Java.
Atas ialah kandungan terperinci Bagaimanakah Java dan MySQL Mengendalikan Masa dan Cap Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!