Interagir avec les dates-heures et les horodatages MySQL en Java
Lorsque vous travaillez avec les dates-heures et les horodatages dans une base de données MySQL à partir d'une application Java, il est essentiel pour comprendre comment ces types de données sont représentés et gérés dans les deux environnements.
Java Représentation
En Java, les dates sont généralement représentées à l'aide de la classe java.util.Date, qui encapsule les informations de date et d'heure avec une précision à la milliseconde.
Représentation MySQL
Dans MySQL, il existe trois données principales de date et d'heure types :
Interaction entre Java et MySQL
Lors de la récupération d'une valeur TIMESTAMP de MySQL vers Java, le résultat est stocké dans un objet java.sql.Timestamp, qui est une sous-classe de java.util.Date. Lors de l'insertion d'une date dans MySQL à l'aide d'un PreparedStatement, la méthode setTimestamp() doit être utilisée pour définir la valeur du paramètre en tant qu'objet Timestamp.
Exemple de code
Pour démontrer comment interagir avec les dates-heures et horodatages MySQL à partir de Java, considérez le code suivant :
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())); } }
Dans cet exemple, nous démontrons comment utiliser les objets Timestamp pour insérer à la fois les parties date et heure dans une base de données MySQL et les récupérer en tant qu'objets Date et Time en Java.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!