Comment régler la date et l'heure à l'aide de l'instruction préparée?
J'ai une colonne dans la base de données ayant le type de données DATETIME
. Je veux régler cette valeur de la colonne date et l'heure actuelles de l'utilisation de `PreparedStatement. Comment dois-je faire?
Vous devez vous connecter pour publier un commentaire.
Utilisation
PreparedStatement#setTimestamp()
dans lequel vous passez unjava.sql.Timestamp
qui est construit avecSystem#currentTimeMillis()
.Alternativaly, si le DB prend en charge, vous pouvez aussi appeler d'une base spécifique à la fonction à régler avec le timestamp actuel. Par exemple MySQL supporte
now()
pour cela. E. g.Ou si le DB prend en charge, modifier le type de champ qui définit automatiquement l'insertion/mise à jour le timestamp, comme
TIMESTAMP
au lieu deDATETIME
dans MySQL.java.sql.Timestamp
juste représente le type Java de MySQLDATETIME
etTIMESTAMP
types de champ.setTimestamp
etgetTimestamp
, est-il embrouiller les données? Ou sont ces méthodes suffisant pour transférer les données si votre DB reflète uneDATETIME
ou unTIMESTAMP
?get
etset
méthode plaisante pas avec les données d'une certaine façon...TIMESTAMP
. Comme réponse, le DB ne prend que magiquement. Pour l'obtenir, il suffit d'utiliserjava.sql.Timestamp
comme évoqué dans un précédent commentaire et impliquées dans la réponse.DATETIME
champ dans MySQL en général. Je suis en utilisant jodatimeDateTime
classe, donc en gros c'estp_stmt.setTimestamp(new java.sql.Timestamp(datetime.getTime()));
. La vérité est que je suis encore assez confus habillage de mon cerveau autour de la différence entreTIMESTAMP
etDATETIME
de toute façon, alors j'ai pensé que puisqu'il y avait une différence, un singuliersetTimestamp
méthode serait insuffisant pour gérer les deux scénarios.Où la fonction getCurrentDatetime() effectue les opérations suivantes:
DATETIME
champ.