Heim >Datenbank >MySQL-Tutorial >Wie füge ich mit Java ein „java.util.Date' ordnungsgemäß in eine Datenbank ein?

Wie füge ich mit Java ein „java.util.Date' ordnungsgemäß in eine Datenbank ein?

Susan Sarandon
Susan SarandonOriginal
2025-01-06 10:46:41177Durchsuche

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

Java Date – Einfügen in eine Datenbank

Um einen Datensatz mit einem java.util.Date-Feld in eine Datenbank einzufügen, gehen Sie wie folgt vor Sie müssen java.sql.PreparedStatement mit einem java.sql.Date oder verwenden java.sql.Timestamp.

Originalcode und Problem

Das Problem mit Ihrem Originalcode besteht darin, dass Sie versuchen, ein java.util.Date direkt einzufügen die Datenbank als String. Stattdessen sollten Sie java.util.Date in ein java.sql.Date konvertieren und eine vorbereitete Anweisung verwenden, um den Wert einzufügen:

java.util.Date in java.sql.Date

java.util.Date myDate = new java.util.Date("01/01/2009");
java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());

Vorbereitet Anweisung

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);

Vorteile

Die Verwendung einer vorbereiteten Anweisung bietet mehrere Vorteile:

  • Escapet Zeichenfolgen automatisch und verhindert so potenzielles SQL Injektionsangriffe.
  • Bietet Typsicherheit und stellt sicher, dass der richtige Wert in die eingefügt wird Datenbank.

Das obige ist der detaillierte Inhalt vonWie füge ich mit Java ein „java.util.Date' ordnungsgemäß in eine Datenbank ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn