Maison  >  Article  >  base de données  >  Comment gérer les dates dans JDBC ?

Comment gérer les dates dans JDBC ?

WBOY
WBOYavant
2023-09-07 21:09:041165parcourir

Comment gérer les dates dans JDBC ?

Vous pouvez insérer des valeurs de date dans SQL en utilisant le type de données date. La classe java.sql.Date correspond au type SQL DATE.

L'interface PreparedStatement fournit une méthode nommée setDate(). En utilisant cela, vous pouvez insérer une date dans un tableau. Cette méthode accepte deux paramètres −

  • Un entier représentant l'index du paramètre de l'espace réservé (?) auquel nous devons définir la valeur de date.

  • un objet Date représentant la valeur de date à transmettre. Le constructeur de la classe java.sql.Date accepte une variable de type long représentant le nombre de millisecondes à partir de l'époque (heure de base standard, c'est-à-dire le 1er janvier 1970, 00:00:00 GMT).

Exemple

Supposons que nous ont créé une table nommée Emp dans la base de données MySQL avec la description suivante −

+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| Name     | varchar(255) | YES  |     | NULL    |       |
| DOB      | date         | YES  |     | NULL    |       |
| Location | varchar(255) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+

Le programme JDBC suivant insère des enregistrements dans cette table −

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Date;
public class InsertingDate {
   public static void main(String args[])throws Exception {
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //Inserting values to a table
      String query = "INSERT INTO Emp(Name, DOB, Location) VALUES (?, ?, ?)";
      PreparedStatement pstmt = con.prepareStatement(query);
      pstmt.setString(1, "Amit"); pstmt.setDate(2, new Date(622790105000L));
      pstmt.setString(3, "Hyderabad");
      pstmt.execute();
      pstmt.setString(1, "Sumith"); pstmt.setDate(2, new Date(620611200000L));
      pstmt.setString(3, "Vishakhapatnam");
      pstmt.execute();
      pstmt.setString(1, "Sudha");
      pstmt.setDate(2, new Date(336614400000L));
      pstmt.setString(3, "Vijayawada");
      pstmt.execute();
      System.out.println("Records inserted......");
   }
}

Output

Connection established......
Records inserted......

如果你在MySQL数据库中验证表格,你可以观察到表格的内容如下:

mysql> select * from Emp;
+--------+------------+----------------+
| Name   | DOB        | Location       |
+--------+------------+----------------+
| Amit   | 1989-09-26 | Hyderabad      |
| Sumith | 2019-03-19 | Vishakhapatnam |
| Sudha  | 2019-03-19 | Vijayawada     |
+--------+------------+----------------+
3 rows in set (0.00 sec)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer