Maison > base de données > tutoriel mysql > Comment Java et MySQL gèrent-ils les dates-heures et les horodatages ?

Comment Java et MySQL gèrent-ils les dates-heures et les horodatages ?

Barbara Streisand
Libérer: 2024-12-10 00:53:11
original
313 Les gens l'ont consulté

How Do Java and MySQL Handle Datetimes and Timestamps?

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 :

  • DATE : stocke uniquement la partie date (année, mois et jour).
  • TIME : stocke uniquement la partie heure (heures, minutes et secondes).
  • TIMESTAMP : stocke à la fois les parties date et heure.

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()));
    }
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal