Maison > base de données > tutoriel mysql > Comment insérer correctement un « java.util.Date » dans une base de données à l'aide de Java ?

Comment insérer correctement un « java.util.Date » dans une base de données à l'aide de Java ?

Susan Sarandon
Libérer: 2025-01-06 10:46:41
original
177 Les gens l'ont consulté

How to Properly Insert a `java.util.Date` into a Database Using Java?

Date Java - Insertion dans une base de données

Pour insérer un enregistrement avec un champ java.util.Date dans une base de données, vous allez besoin d'utiliser java.sql.PreparedStatement avec un java.sql.Date ou java.sql.Timestamp.

Code et problème d'origine

Le problème avec votre code d'origine est que vous essayez d'insérer un java.util.Date directement dans la base de données sous forme de chaîne. Au lieu de cela, vous devez convertir le java.util.Date en java.sql.Date et utiliser une instruction préparée pour insérer la valeur :

java.util.Date en java.sql.Date

java.util.Date myDate = new java.util.Date("01/01/2009");
java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());
Copier après la connexion

Préparé Déclaration

sb.append("INSERT INTO USERS");
sb.append("(USER_ID, FIRST_NAME, LAST_NAME, SEX, CRDATE) ");
sb.append("VALUES ( ");
sb.append("?, ?, ?, ?, ?");
sb.append(")");

Connection conn = ...; // get the connection somehow
PreparedStatement stmt = conn.prepareStatement(sb.toString());

stmt.setString(1, userId);
stmt.setString(2, myUser.GetFirstname());
stmt.setString(3, myUser.GetLastname());
stmt.setString(4, myUser.GetSex());
stmt.setDate(5, sqlDate);
Copier après la connexion

Avantages

L'utilisation d'une instruction préparée offre plusieurs avantages :

  • Échappe automatiquement les chaînes, empêchant ainsi les requêtes SQL potentielles attaques par injection.
  • Fournit une sécurité de type, garantissant que la valeur correcte est insérée dans le base de données.

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